Spaces:
Runtime error
Runtime error
| import os | |
| from datetime import timedelta | |
| class Config: | |
| # Basic Flask config | |
| SECRET_KEY = os.environ.get('SECRET_KEY', 'super-secret-not-for-production') | |
| # JWT config | |
| JWT_SECRET_KEY = os.environ.get('JWT_SECRET_KEY', 'another-super-secret-jwt-key') | |
| JWT_ACCESS_TOKEN_EXPIRES = timedelta(hours=1) | |
| # Database config | |
| SQLALCHEMY_DATABASE_URI = os.environ.get( | |
| "DATABASE_URL", | |
| "sqlite:///" + os.path.join(os.path.dirname(os.path.abspath(__file__)), 'legal_docs.db') | |
| ) | |
| # Model config | |
| MODEL_CACHE_SIZE = 1000 | |
| MAX_CONTEXT_LENGTH = 1028 | |
| MAX_ANSWER_LENGTH = 256 | |
| # CORS config | |
| CORS_ORIGINS = os.environ.get('CORS_ORIGINS', '*').split(',') | |
| # Logging config | |
| LOG_LEVEL = os.environ.get('LOG_LEVEL', 'INFO') | |
| LOG_FILE = os.environ.get('LOG_FILE', 'app.log') | |
| class DevelopmentConfig(Config): | |
| DEBUG = True | |
| TESTING = False | |
| class ProductionConfig(Config): | |
| DEBUG = False | |
| TESTING = False | |
| # Add production-specific settings | |
| JWT_ACCESS_TOKEN_EXPIRES = timedelta(hours=24) | |
| LOG_LEVEL = 'WARNING' | |
| class TestingConfig(Config): | |
| TESTING = True | |
| DEBUG = True | |
| # Use in-memory database for testing | |
| SQLALCHEMY_DATABASE_URI = 'sqlite:///:memory:' | |
| # Configuration dictionary | |
| config = { | |
| 'development': DevelopmentConfig, | |
| 'production': ProductionConfig, | |
| 'testing': TestingConfig, | |
| 'default': DevelopmentConfig | |
| } |