Repository navigation
Expand file tree
/
Copy pathsettings.py
More file actions
73 lines (66 loc) · 1.78 KB
/
Copy pathsettings.py
File metadata and controls
73 lines (66 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import os
import json
import logging
logger = logging.getLogger(__name__)
if 'PYTEST_CURRENT_TEST' not in os.environ:
from dotenv import load_dotenv
load_dotenv()
CONFIG_FILE = os.getenv('PUMP_CONFIG_FILE', 'pump_config.json')
COCKTAILS_FILE = os.getenv('COCKTAILS_FILE', 'cocktails.json')
LOGO_FOLDER = os.getenv('LOGO_FOLDER', 'drink_logos')
OPENAI_API_KEY = os.getenv('OPENAI_API_KEY')
settings = {
'DEBUG': {
'parse_method': json.loads,
'default': 'false'
},
'OZ_COEFFICIENT': {
'parse_method': float,
'default': '8.0'
},
'PUMP_CONCURRENCY': {
'parse_method': int,
'default': '3'
},
'RELOAD_COCKTAILS_TIMEOUT': {
'parse_method': int,
'default': '0'
},
'RETRACTION_TIME': {
'parse_method': float,
'default': '0'
},
'COCKTAIL_IMAGE_SCALE': {
'parse_method': float,
'default': '0.7'
},
'INVERT_PUMP_PINS': {
'parse_method': json.loads,
'default': 'true'
},
'FULL_SCREEN': {
'parse_method': json.loads,
'default': 'true'
},
'SHOW_RELOAD_COCKTAILS_BUTTON': {
'parse_method': json.loads,
'default': 'false'
},
'USE_GPT_TRANSPARENCY': {
'parse_method': json.loads,
'default': 'false'
},
'ALLOW_FAVORITES': {
'parse_method': json.loads,
'default': 'false'
}
}
for name in settings:
try:
value = settings[name]['parse_method'](os.getenv(name))
except (ValueError, json.decoder.JSONDecodeError, TypeError):
# logger.exception(f'invalid ENV value for {name}')
value = settings[name]['parse_method'](settings[name]['default'])
exec(f'{name} = value')
if DEBUG:
logging.basicConfig(level=logging.DEBUG)