""" Entry point for the Employee Workstation Activity Tracking application. This script initializes the Flask application and runs the development server. """ import os import sys from app import create_app, init_db # Create the application instance using the factory function app = create_app() if __name__ == '__main__': # Print some diagnostic information print(f"Starting application...") print(f"Instance path: {app.instance_path}") print(f"Instance path exists: {os.path.exists(app.instance_path)}") # Make sure the instance directory exists if not os.path.exists(app.instance_path): try: os.makedirs(app.instance_path) print(f"Created instance directory: {app.instance_path}") except Exception as e: print(f"Error creating instance directory: {e}") # Check instance directory permissions has_write_access = os.access(app.instance_path, os.W_OK) print(f"Instance path write access: {has_write_access}") # Print database configuration db_uri = app.config['SQLALCHEMY_DATABASE_URI'] masked_uri = db_uri if '@' in db_uri: parts = db_uri.split('@') masked_uri = "****@" + parts[1] print(f"Database URI: {masked_uri}") # Initialize the database if needed try: print("Initializing database...") init_db() print("Database initialization successful") except Exception as e: print(f"Error during database initialization: {e}") import traceback traceback.print_exc() # Run the Flask application host = os.environ.get('HOST', '0.0.0.0') port = int(os.environ.get('PORT', 5000)) debug = os.environ.get('DEBUG', 'False').lower() == 'true' print(f"Starting Flask application on {host}:{port} (debug={debug})") app.run(host=host, port=port, debug=debug)