summaryrefslogtreecommitdiff
path: root/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'utils.py')
-rw-r--r--utils.py50
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")