Files
natureinpots_community/app/config.py
2025-06-26 05:21:21 -05:00

46 lines
1.6 KiB
Python

import os
# CONFIG_DIR is your app package; go up one to the project root
CONFIG_DIR = os.path.dirname(os.path.abspath(__file__))
PROJECT_ROOT = os.path.dirname(CONFIG_DIR)
class Config:
SECRET_KEY = os.environ['SECRET_KEY']
MAX_CONTENT_LENGTH = int(
os.environ.get('MAX_CONTENT_LENGTH', 20 * 1024 * 1024 * 1024)
)
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif'}
UPLOAD_FOLDER = os.path.join(PROJECT_ROOT, "static", "uploads")
# MySQL connection parameters
MYSQL_USER = os.environ['MYSQL_USER']
MYSQL_PASSWORD = os.environ['MYSQL_PASSWORD']
MYSQL_HOST = os.environ['MYSQL_HOST']
MYSQL_PORT = int(os.environ.get('MYSQL_PORT', 3306))
MYSQL_DATABASE = os.environ['MYSQL_DATABASE']
# Build the SQLAlchemy database URI
SQLALCHEMY_DATABASE_URI = (
f"mysql+pymysql://{MYSQL_USER}:{MYSQL_PASSWORD}"
f"@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DATABASE}"
)
SQLALCHEMY_TRACK_MODIFICATIONS = False
# Optional toggles
ENABLE_DB_SEEDING = os.environ.get('ENABLE_DB_SEEDING', '0') == '1'
DOCKER_ENV = os.environ.get('FLASK_ENV', 'production')
# Neo4j configuration
NEO4J_URI = os.getenv('NEO4J_URI', 'bolt://neo4j:7687')
NEO4J_USER = os.getenv('NEO4J_USER', 'neo4j')
NEO4J_PASSWORD = os.getenv('NEO4J_PASSWORD', 'your_secure_password')
# Standard image size (for placeholders, etc.)
STANDARD_IMG_SIZE = tuple(
map(int, os.getenv('STANDARD_IMG_SIZE', '300x200').split('x'))
)
PLANT_CARDS_BASE_URL = "https://plant.cards"
ALLOW_REGISTRATION = False