aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorniklas <niklas@niklashalle.net>2020-08-19 15:44:38 +0200
committerniklas <niklas@niklashalle.net>2020-08-19 15:44:38 +0200
commite97f8f0fa936f9d9b88cf4997f7f906443ecbc28 (patch)
treeef76559004902cfe6a2ca498ac3fe5ff8c7b9908
parentb92eb80174dac1efd111b1a32e29b486448b89b6 (diff)
downloadn_frontend_signal-e97f8f0fa936f9d9b88cf4997f7f906443ecbc28.tar.gz
n_frontend_signal-e97f8f0fa936f9d9b88cf4997f7f906443ecbc28.zip
some cli and conf
-rw-r--r--.gitignore1
-rwxr-xr-xmain.py62
-rw-r--r--template.ini2
3 files changed, 63 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2f3bc20
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+n_signal.ini
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()
diff --git a/template.ini b/template.ini
new file mode 100644
index 0000000..2c41f2c
--- /dev/null
+++ b/template.ini
@@ -0,0 +1,2 @@
+[INFO]
+number = +12345678