diff --git a/README.md b/README.md index f72991c..112b9be 100644 --- a/README.md +++ b/README.md @@ -30,9 +30,14 @@ email server, and associated logins, passwords. search for "yourdomain", "password". Search for "shortcuts" to setup email aliases as well. +Installation: +``` +pip install aprsd +``` + Example usage: ``` -./aprsd.py +aprsd -h ``` Example output: diff --git a/aprsd/main.py b/aprsd/main.py index 5192c33..d4e2451 100644 --- a/aprsd/main.py +++ b/aprsd/main.py @@ -43,7 +43,7 @@ import pprint from imapclient import IMAPClient, SEEN # local imports here -from fuzzyclock import fuzzy +from aprsd.fuzzyclock import fuzzy import utils # localization, please edit: @@ -107,6 +107,14 @@ else: BASECALLSIGN = args.callsign +# Now read the ~/.aprds/config.yml +config = utils.get_config() +if 'shortcuts' in config: + shortcuts = config['shortcuts'] +else: + print("missing 'shortcuts' section of config.yml") + sys.exit(-1) + try: tn = telnetlib.Telnet(HOST, 14580) except Exception, e: diff --git a/aprsd/utils.py b/aprsd/utils.py index c51b982..5dd4953 100644 --- a/aprsd/utils.py +++ b/aprsd/utils.py @@ -3,7 +3,27 @@ import os import pprint import sys +import yaml +# an example of what should be in the ~/.aprsd/config.yml +example_config = ''' +shortcuts: + 'aa': '5551239999@vtext.com' + 'cl': 'craiglamparter@somedomain.org' + 'wb': '555309@vtext.com' + +smtp: + login: something + password: some lame password + +imap: + login: imapuser + password: something dumb + +ham: + callsign: something + basename: somebasename +''' def env(*vars, **kwargs): """This returns the first environment variable set. @@ -14,3 +34,16 @@ def env(*vars, **kwargs): if value: return value return kwargs.get('default', '') + + +def get_config(): + """This tries to read the yaml config from ~/.aprsd/config.yml.""" + config_file = os.path.expanduser("~/.aprsd/config.yml") + if os.path.exists(config_file): + with open(config_file, "r") as stream: + config = yaml.load(stream) + return config + else: + print("%s is missing, please create a config file" % config_file) + print("example config is\n %s" % example_config) + sys.exit(-1) diff --git a/requirements.txt b/requirements.txt index bd92dae..c171ede 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ pbr imapclient +pyyaml