55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
"""
|
|
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) |