From d1388b78697a6e0b478d47e0c92e95be7905e908 Mon Sep 17 00:00:00 2001 From: Dan Srebnick Date: Thu, 28 Sep 2017 13:14:18 -0400 Subject: [PATCH] Publish 0.7 --- noaacap/usr/local/bin/noaacap.py | 53 ++++++++++++---------- noaacap/usr/local/share/noaacap/CHANGELOG | 2 +- packages/noaacap-0.7.deb | Bin 0 -> 6612 bytes 3 files changed, 31 insertions(+), 24 deletions(-) create mode 100644 packages/noaacap-0.7.deb diff --git a/noaacap/usr/local/bin/noaacap.py b/noaacap/usr/local/bin/noaacap.py index 37d614c..5709830 100755 --- a/noaacap/usr/local/bin/noaacap.py +++ b/noaacap/usr/local/bin/noaacap.py @@ -25,23 +25,16 @@ from systemd.journal import JournalHandler log = logging.getLogger('noaacap') log.addHandler(JournalHandler(SYSLOG_IDENTIFIER='noaacap')) -if len(sys.argv) == 2: - if sys.argv[1] == '-v': - print("noaacap.py by K2DLS, version " + version + "\n") - print("A weather alert beacon exec for aprx >= 2.9") - print("Licensed under the BSD 2 Clause license") - print("Copyright 2017 by Daniel L. Srebnick\n") - sys.exit(0) - elif sys.argv[1] == "--info": - log.setLevel(logging.INFO) - elif sys.argv[1] == "--debug": - log.setLevel(logging.DEBUG) - -log.info("Starting") +if len(sys.argv) == 2 and sys.argv[1] == '-v': + print("noaacap.py by K2DLS, version " + version + "\n") + print("A weather alert beacon exec for aprx >= 2.9") + print("Licensed under the BSD 2 Clause license") + print("Copyright 2017 by Daniel L. Srebnick\n") + sys.exit(0) # We need this function early in execution -def Exiting(): - log.info("Exiting") +def ErrExit(): + log.error("Exiting") print() exit(0) @@ -49,7 +42,7 @@ conffile = '/etc/noaacap.conf' if not os.path.isfile(conffile): log.error(conffile + " not found") - Exiting() + ErrExit() config = configparser.ConfigParser() @@ -57,19 +50,32 @@ try: config.read(conffile) except: log.error("Check " + conffile + " for proper [noaacap] section heading") - Exiting() + ErrExit() + +try: + Logging = config.get('noaacap', 'Logging') +except: + log.error("Check " + conffile + " for proper Logging value in [noaacap] section") + ErrExit() + +if Logging == '1': + log.setLevel(logging.INFO) +elif Logging == '2': + log.setLevel(logging.DEBUG) + +log.info("Starting") try: myTZ = config.get('noaacap', 'myTZ') except: log.error("Check " + conffile + " for proper myTZ value in [noaacap] section") - Exiting() + ErrExit() try: myZone = config.get('noaacap', 'myZone') except: log.error("Check " + conffile + " for proper myZone value in [noaacap] section") - Exiting() + ErrExit() try: myResend = int(config.get('noaacap', 'myResend')) @@ -77,20 +83,20 @@ except: log.error("Check " + conffile + " for proper myResend value in [noaacap] section") log.error("Try 0 (for no resend)") log.error("or 30 (for 1h if beacon cycle-size 2m)") - Exiting() + ErrExit() url = 'https://alerts.weather.gov/cap/wwaatmget.php?x=' + myZone + '&y=0' r = requests.get(url) if r.status_code != 200: log.error(str(r.status_code) + " " + url) - Exiting() + ErrExit() soup = BeautifulSoup(r.text, 'xml') entries = soup.find_all('entry') count = len(entries) -dbfile = '/dev/shm/noaacap.db' +dbfile = '/dev/shm/noaaconf.db' ppmap = '/usr/local/share/noaacap/ppmap.db' sg = {"W":"WARN ","A":"WATCH","Y":"ADVIS","S":"STMNT","F":"4CAST", @@ -234,7 +240,7 @@ for i in range(0, count): rs = requests.get(entries[i].id.string) if rs.status_code != 200: log.error(str(rs.status_code) + " " + rs) - Exiting() + ErrExit() soup2 = BeautifulSoup(rs.text, 'xml') parms = soup2.find_all('parameter') @@ -281,3 +287,4 @@ if (hit == 0): print() log.info("Exiting") +exit(0) diff --git a/noaacap/usr/local/share/noaacap/CHANGELOG b/noaacap/usr/local/share/noaacap/CHANGELOG index ea8ce6c..04b4a03 100644 --- a/noaacap/usr/local/share/noaacap/CHANGELOG +++ b/noaacap/usr/local/share/noaacap/CHANGELOG @@ -1,7 +1,7 @@ noaacap changelog ## Version: 0.7 -Release: TBD +Release: September 28, 2017 Added myResend parameter to control message resends. Added Logging parameter to control verbosity. ## diff --git a/packages/noaacap-0.7.deb b/packages/noaacap-0.7.deb new file mode 100644 index 0000000000000000000000000000000000000000..ca74c6b60414a457b21795d686ba519b56e3fe0b GIT binary patch literal 6612 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