import json from pathlib import Path from envparse import Env this_dir = Path(__file__).parent env = Env() env.read_envfile() DEBUG_MODE = env.bool('DEBUG_MODE', default=True) LOG_LEVEL = env('LOG_LEVEL', default='INFO').upper() TELEGRAM_API_TOKEN = env.str('TELEGRAM_API_TOKEN') assert TELEGRAM_API_TOKEN, 'TELEGRAM_API_TOKEN not provided.' access_ids_file = Path(env.str('ACCESS_IDS_FILE', default=str(this_dir / 'allowed_accounts.json'))) assert access_ids_file.exists(), f'No such file: {access_ids_file=}' with access_ids_file.open(encoding='utf-8') as f: ACCESS_IDS = set(json.load(f)) DB_NAME = 'database/timesheet.db' DB_MIGRATIONS_DIR = 'database/migrations'
) except black.NothingChanged: return code @app.route('/autopep8', methods=['POST']) @as_formatter def autopep8ify(code, width): return autopep8.fix_code(code) @app.route('/bs4', methods=['POST']) @as_formatter def bs4ify(code, width): soup = bs4.BeautifulSoup(code, 'html5lib') # If the input document did not smell like a full HTML document, only # output the body; `html5lib` will otherwise insist on having all the # accoutrements. if not any(p in code.lower() for p in ('<html', '<head', '<body')): soup = soup.find('body', recursive=True) soup.hidden = True # h/t https://groups.google.com/forum/#!topic/beautifulsoup/-VQdp2p0I8E return soup.prettify(formatter=bs4_formatter) if __name__ == '__main__': app.run( host=env.str('NICEN_PY_HOST', default='0.0.0.0'), port=env.int('NICEN_PY_PORT', default='42080'), debug=env.bool('DEBUG', default=False), )
env = Env() env_file_path = os.path.join(BASE_DIR, '.env') env.read_envfile(env_file_path) APP_NAME = 'app_name' HOST = env.str('HOST', default='0.0.0.0') API_PORT = env.int('API_PORT', default=8090) AMQ_PORT = env.int('AMQ_PORT', default=8091) SCHEDULE_PORT = env.int('SCHEDULE_PORT', default=8092) WORKERS = env.int('WORKERS', default=1) ENV = env.str('ENV', default='local') DEBUG = env.bool('DEBUG', default=False) AUTO_RELOAD = env.bool('AUTO_RELOAD', default=False) DB_HOST = env.str('DB_HOST', default='localhost') DB_PORT = env.int('DB_PORT', default=5455) DB_NAME = env.str('DB_NAME', default='example') DB_USER = env.str('DB_USER', default='example') DB_PASSWORD = env.str('DB_PASSWORD', default='example') DB_MAX_CONNECTIONS = env.int('DB_MAX_CONNECTIONS', default=10) DC_POOL_RECYCLE = env.int('DC_POOL_RECYCLE', default=60) EXAMPLE_AMQP_HOST = env.str('EXAMPLE_AMQP_HOST', default='localhost') EXAMPLE_AMQP_USER = env.int('EXAMPLE_AMQP_USER', default='guest') EXAMPLE_AMQP_PASS = env.str('EXAMPLE_AMQP_PASS', default='guest') EXAMPLE_AMQP_VHOST = env.str('EXAMPLE_AMQP_VHOST', default='/') EXAMPLE_AMQP_PORT = env.str('EXAMPLE_AMQP_PORT', default=5672)