/
Askoline
/
Homework03
Обзор
Документация
Войти
/
Askoline
/
Homework03
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
config.py
42 строки
1 KB
Askoline
first_commit
05 авг 2026, 14:29
05 авг 2026, 14:29
a97374b
Код
Авторство
О чём код?
# -*- coding: utf-8 -*- # config.py # Configuration for database connection import os from pathlib import Path from dotenv import load_dotenv # Load environment variables from .env file load_dotenv() # Base directory BASE_DIR = Path(__file__).parent # Database configuration DB_CONFIG = { 'host': os.getenv('DB_HOST', 'localhost'), 'port': os.getenv('DB_PORT', '5432'), 'user': os.getenv('DB_USER', 'postgres'), 'password': os.getenv('DB_PASSWORD', 'postgres'), 'database': os.getenv('DB_NAME', 'bookstore'), } # Database URL for SQLAlchemy def get_database_url(): """Get database URL from environment or use SQLite by default""" db_type = os.getenv('DB_TYPE', 'sqlite') if db_type == 'postgresql': return f"postgresql://{DB_CONFIG['user']}:{DB_CONFIG['password']}@{DB_CONFIG['host']}:{DB_CONFIG['port']}/{DB_CONFIG['database']}" elif db_type == 'mysql': return f"mysql+pymysql://{DB_CONFIG['user']}:{DB_CONFIG['password']}@{DB_CONFIG['host']}:{DB_CONFIG['port']}/{DB_CONFIG['database']}" else: # SQLite by default db_path = os.getenv('SQLITE_PATH', str(BASE_DIR / 'bookstore.db')) return f"sqlite:///{db_path}" # Fixtures directory FIXTURES_DIR = BASE_DIR / 'fixtures' # Create fixtures directory if it doesn't exist FIXTURES_DIR.mkdir(exist_ok=True)