aboutsummaryrefslogtreecommitdiffstats
path: root/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'main.py')
-rwxr-xr-xmain.py62
1 files changed, 60 insertions, 2 deletions
diff --git a/main.py b/main.py
index 57a8571..e17b3d3 100755
--- a/main.py
+++ b/main.py
@@ -1,3 +1,61 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
-print("Hello, World!");
+import os
+import sys
+import getopt
+import traceback
+
+from signald import Signal
+from configparser import ConfigParser
+
+
+def usage():
+ print(os.path.basename(sys.argv[0]) + " [-h|--help] [-r|--register]")
+ print("Runs the signal frontend to N. Reads the number to use from n_signal.ini")
+ print(" -h|--help prints this help and exits")
+ print(" -r|--register register the number with signal")
+
+
+def read_config():
+ config_object = ConfigParser()
+ #config_object.read(os.environ.get('XDG_CONFIG_HOME') + "/n_signal.ini")
+ config_object.read("n_signal.ini")
+
+ info = config_object["INFO"]
+
+ return info["number"]
+
+
+def register_signald(number):
+ s = Signal(number)
+ s.register(voice=False)
+ code = input(f"Please input register code send via sms to {number}: ")
+ s.verify(code)
+
+
+def main():
+ number = read_config()
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "hr", ["help", "register"])
+ except getopt.GetoptError as err:
+ # print help information and exit:
+ print(err) # will print something like "option -a not recognized"
+ usage()
+ sys.exit(2)
+ title = ""
+
+ for o, a in opts:
+ if o in ("-h", "--help"):
+ usage()
+ sys.exit()
+ elif o in ("-r", "--register"):
+ register_signald()
+ sys.exit()
+ else:
+ assert False, "unhandled option: " + o
+
+ print(f"Hello, World! {number}")
+
+
+if __name__ == "__main__":
+ main()