import os | |
from dotenv import load_dotenv | |
from flask import Flask, jsonify | |
from routes import api_bp | |
import logging | |
from datetime import datetime | |
# Configure logging | |
logging.basicConfig( | |
level=logging.INFO, | |
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', | |
handlers=[ | |
logging.StreamHandler() | |
] | |
) | |
logger = logging.getLogger(__name__) | |
# Add debug logging for .env file | |
current_dir = os.path.dirname(os.path.abspath(__file__)) | |
env_path = os.path.join(current_dir, '.env') | |
logger.info(f"Looking for .env file at: {env_path}") | |
logger.info(f"File exists: {os.path.exists(env_path)}") | |
# Load environment variables before creating the app | |
load_dotenv(env_path) | |
# Add debug logging for environment variable | |
logger.info(f"HUGGINGFACE_API_TOKEN after loading: {'HUGGINGFACE_API_TOKEN' in os.environ}") | |
def create_app(): | |
app = Flask(__name__) | |
# Register blueprints | |
app.register_blueprint(api_bp, url_prefix='/api') | |
# Home route | |
def home(): | |
return jsonify({ | |
'status': 'online', | |
'timestamp': datetime.utcnow().isoformat(), | |
'message': 'Welcome to the Hostel Management API' | |
}) | |
return app | |
# This is for both local and production | |
app = create_app() | |
if __name__ == '__main__': | |
port = int(os.environ.get('PORT', 7860)) | |
app.run(host='0.0.0.0', port=port, debug=True) |