updated first commit
This commit is contained in:
65
config.py
Normal file
65
config.py
Normal file
@@ -0,0 +1,65 @@
|
||||
"""
|
||||
SKE Digital Signage Server Configuration
|
||||
"""
|
||||
|
||||
import os
|
||||
from datetime import timedelta
|
||||
|
||||
class Config:
|
||||
"""Base configuration class"""
|
||||
|
||||
# Application Settings
|
||||
SECRET_KEY = os.environ.get('SECRET_KEY', 'ske-signage-secret-key-change-in-production')
|
||||
|
||||
# Server Information
|
||||
SERVER_VERSION = "2.0.0"
|
||||
BUILD_DATE = "2025-07-15"
|
||||
|
||||
# Database Configuration
|
||||
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
|
||||
'sqlite:///' + os.path.join(os.path.abspath(os.path.dirname(__file__)), 'instance', 'ske_signage.db')
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||
|
||||
# Upload Configuration
|
||||
MAX_CONTENT_LENGTH = 2 * 1024 * 1024 * 1024 # 2GB
|
||||
UPLOAD_FOLDER = 'static/uploads'
|
||||
ALLOWED_EXTENSIONS = {
|
||||
'images': {'png', 'jpg', 'jpeg', 'gif', 'bmp', 'webp'},
|
||||
'videos': {'mp4', 'avi', 'mov', 'wmv', 'flv', 'webm', 'mkv'},
|
||||
'documents': {'pdf', 'pptx', 'ppt'}
|
||||
}
|
||||
|
||||
# Security Configuration
|
||||
SESSION_PERMANENT = False
|
||||
PERMANENT_SESSION_LIFETIME = timedelta(hours=24)
|
||||
|
||||
# Logging Configuration
|
||||
LOG_LEVEL = os.environ.get('LOG_LEVEL', 'INFO')
|
||||
|
||||
# Media Processing Configuration
|
||||
FFMPEG_PATH = os.environ.get('FFMPEG_PATH', 'ffmpeg')
|
||||
LIBREOFFICE_PATH = os.environ.get('LIBREOFFICE_PATH', 'libreoffice')
|
||||
|
||||
class DevelopmentConfig(Config):
|
||||
"""Development configuration"""
|
||||
DEBUG = True
|
||||
SQLALCHEMY_ECHO = True
|
||||
|
||||
class ProductionConfig(Config):
|
||||
"""Production configuration"""
|
||||
DEBUG = False
|
||||
SQLALCHEMY_ECHO = False
|
||||
|
||||
class TestingConfig(Config):
|
||||
"""Testing configuration"""
|
||||
TESTING = True
|
||||
SQLALCHEMY_DATABASE_URI = 'sqlite:///:memory:'
|
||||
WTF_CSRF_ENABLED = False
|
||||
|
||||
# Configuration dictionary
|
||||
config = {
|
||||
'development': DevelopmentConfig,
|
||||
'production': ProductionConfig,
|
||||
'testing': TestingConfig,
|
||||
'default': DevelopmentConfig
|
||||
}
|
||||
Reference in New Issue
Block a user