aboutsummaryrefslogblamecommitdiffstats
path: root/main.py
blob: e17b3d3697565fec28f0a87c7c8f03095e614c30 (plain) (tree)
1
2
                      
 


























































                                                                                     
#!/usr/bin/env python3

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()