import os from config_file import read_config as read_cfg APP_VERSION="1.0" SCRIPT_PATH = os.path.dirname(__file__) CONFIGS_DIR = SCRIPT_PATH + "/configs" CONFIG_FILE_NAME = CONFIGS_DIR + "/server_config.yaml" API_KEY = '' UPLOAD_DIR = 'uploads' DB_URL = '' APP_PORT = 25100 IS_DEBUG = False IS_DOCS_AVAILABLE = False HTML_FILE = 'html/main.html' CSS_FILE = 'css/main.css' JS_FILE = 'js/main.js' ALIAS_NUM_LETTERS = 3 ALIAS_NUM_DIGITS = 4 """ For 3 + 4 defaults there are 1 406 080 000 possible values: Кількість варіантів для кожної літери (великої або малої) дорівнює 52 (26 великих + 26 малих). Кількість комбінацій для трьох літер: 52 * 52 * 52 = 140 608. Кількість варіантів для кожної цифри: 10 (0-9). Кількість комбінацій для чотирьох цифр: 10 * 10 * 10 * 10 = 10 000. Загальна кількість комбінацій: 140 608 * 10 000 = 1 406 080 000. """ def read_app_config(): j, _ = read_cfg(CONFIG_FILE_NAME) return j def get_config_value(cfg, section, key, default): return cfg[section][key] if section in cfg and key in cfg[section] else default def parse_config(cfg): global UPLOAD_DIR, APP_PORT, IS_DEBUG, DB_URL, ALIAS_NUM_LETTERS, ALIAS_NUM_DIGITS\ , IS_DOCS_AVAILABLE, HTML_FILE, CSS_FILE, JS_FILE UPLOAD_DIR = get_config_value(cfg, 'server', 'directory', UPLOAD_DIR) APP_PORT = get_config_value(cfg, 'server', 'port', APP_PORT) DB_URL = get_config_value(cfg, 'server', 'db_url', DB_URL) IS_DEBUG = get_config_value(cfg, 'server', 'debug', IS_DEBUG) ALIAS_NUM_LETTERS = get_config_value(cfg, 'server', 'alias_letters', ALIAS_NUM_LETTERS) ALIAS_NUM_DIGITS = get_config_value(cfg, 'server', 'alias_digits', ALIAS_NUM_DIGITS) IS_DOCS_AVAILABLE = get_config_value(cfg, 'server', 'docs_available', IS_DOCS_AVAILABLE) HTML_FILE = get_config_value(cfg, 'interface', 'html', HTML_FILE) CSS_FILE = get_config_value(cfg, 'interface', 'css', CSS_FILE) JS_FILE = get_config_value(cfg, 'interface', 'js', JS_FILE) def init_config(): config = read_app_config() parse_config(config) if __name__ == '__main__': init_config()