diff options
Diffstat (limited to 'utils.py')
-rw-r--r-- | utils.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/utils.py b/utils.py new file mode 100644 index 0000000..5786e8b --- /dev/null +++ b/utils.py @@ -0,0 +1,50 @@ +import json + +default_state = { + 'source': 'off', + 'source_time': 0, + 'title': None, + 'welcome': None, + } + +def parse_streamers_file(filename): + streamers = {} + + with open(filename) as f: + for line in f: + psk, username = line.strip().split(":") + streamers[psk] = username + + return streamers + +def load_state(filename): + state = dict(default_state) + + try: + with open(filename) as f: + state.update(json.load(f)) + except FileNotFoundError: + pass + except json.JSONDecodeError: + pass + + return state + +def save_state(state, filename): + with open(filename, "w") as f: + json.dump(state, f) + +def is_banned(ip, filename): + try: + with open(filename) as f: + for line in f: + if line.strip() == ip: + return True + except FileNotFoundError: + pass + + return False + +def add_ban(ip, filename): + with open(filename, 'a') as f: + f.write(ip + "\n") |