blob: fcaa5c89c8a5f00dd14cd8b14d6f455363a92756 (
plain)
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
|
import os, re
from configparser import ConfigParser
CONFIG_DIR = os.environ['HOME'] + '/.config/inverter-bot'
CONFIG_FILE = 'config.ini'
__config__ = None
def _get_config_path() -> str:
return "%s/%s" % (CONFIG_DIR, CONFIG_FILE)
def get_config():
global __config__
if __config__ is not None:
return __config__['root']
if not os.path.exists(CONFIG_DIR):
raise IOError("%s directory not found" % CONFIG_DIR)
if not os.path.isdir(CONFIG_DIR):
raise IOError("%s is not a directory" % CONFIG_DIR)
config_path = _get_config_path()
if not os.path.isfile(config_path):
raise IOError("%s file not found" % config_path)
__config__ = ConfigParser()
with open(config_path) as config_content:
__config__.read_string("[root]\n" + config_content.read())
return __config__['root']
def get_token() -> str:
return get_config()['token']
def get_admins() -> tuple:
config = get_config()
return tuple([int(s) for s in re.findall(r'\b\d+\b', config['admins'], flags=re.MULTILINE)])
def get_isv_bin() -> str:
return get_config()['isv_bin']
def use_sudo() -> bool:
config = get_config()
return 'use_sudo' in config and config['use_sudo'] == '1'
|