From 9cf38825f367d27e1c7070135c75551e63ec312d Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 7 Jun 2016 12:13:13 -0700 Subject: [PATCH 001/179] just checking git clone --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index dd85d15c..ca3ba5ab 100644 --- a/manager.py +++ b/manager.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import print_function - +#new memory import time import argparse From efa9b39e246dc47047f6fee89ccf670f443edbdf Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 7 Jun 2016 12:13:58 -0700 Subject: [PATCH 002/179] Update manager.py --- manager.py | 1 - 1 file changed, 1 deletion(-) diff --git a/manager.py b/manager.py index ca3ba5ab..7a863a7e 100644 --- a/manager.py +++ b/manager.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- from __future__ import print_function -#new memory import time import argparse From 9a9aca9a83b0f269aab894e74f999c26fcbaa193 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 7 Jun 2016 17:10:38 -0700 Subject: [PATCH 003/179] Update dosenet.sh --- dosenet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dosenet.sh b/dosenet.sh index e1b16a81..7b8cf446 100755 --- a/dosenet.sh +++ b/dosenet.sh @@ -12,7 +12,7 @@ # setup paths and check config files HOME=/home/pi -DOSENET=$HOME/dosenet-raspberrypi +DOSENET=$HOME/dev/memory/dosenet-raspberrypi CONFIGDIR=$HOME/config LOGTAG=dosenet From e34de01d39d0e9318f29b228f1a3f23939bf3942 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 7 Jun 2016 17:11:04 -0700 Subject: [PATCH 004/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 7a863a7e..b7ae71ee 100644 --- a/manager.py +++ b/manager.py @@ -430,7 +430,7 @@ def from_argparse(cls): DEFAULT_PORT)) # datalog parser.add_argument( - '--datalog', '-d', default=DEFAULT_DATALOG, + '--datalog', '-d', default=None, help='Specify a path for the datalog (default {})'.format( DEFAULT_DATALOG)) parser.add_argument( From d6f1b6f75793edf9d29007be81d3331f7332c6dd Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 7 Jun 2016 17:26:44 -0700 Subject: [PATCH 005/179] Update sender.py --- sender.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sender.py b/sender.py index d25db8be..8fd1d4d7 100644 --- a/sender.py +++ b/sender.py @@ -119,6 +119,7 @@ def send_cpm(self, cpm, cpm_error, error_code=0): """Construct, encrypt, and send the packet""" packet = self.construct_packet(cpm, cpm_error, error_code=error_code) + print(packet) encrypted = self.encrypt_packet(packet) if self.network_up or self.network_up is None: self.send_packet(encrypted) From bfd22277319b23edca94e6162c14162227661579 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 7 Jun 2016 17:46:18 -0700 Subject: [PATCH 006/179] Update sender.py --- sender.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sender.py b/sender.py index 8fd1d4d7..d25db8be 100644 --- a/sender.py +++ b/sender.py @@ -119,7 +119,6 @@ def send_cpm(self, cpm, cpm_error, error_code=0): """Construct, encrypt, and send the packet""" packet = self.construct_packet(cpm, cpm_error, error_code=error_code) - print(packet) encrypted = self.encrypt_packet(packet) if self.network_up or self.network_up is None: self.send_packet(encrypted) From f7cd4b1cd55a79799e9087157ad756521803c2f3 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 7 Jun 2016 17:51:34 -0700 Subject: [PATCH 007/179] manager now initiliazes an empty deque --- manager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manager.py b/manager.py index ba35d2b1..5dd47873 100644 --- a/manager.py +++ b/manager.py @@ -28,6 +28,8 @@ import csv +from collections import deque + def signal_term_handler(signal, frame): print('got SIGTERM') # If SIGTERM signal is intercepted, the SystemExit exception routines are ran @@ -77,7 +79,9 @@ def __init__(self, datalog=None, datalogflag=False, ): - + + self.queue = deque('') + self.datalog = datalog self.datalogflag = datalogflag From 5478c926c0fad75b8fd2a3c4616e5d1fd29a1953 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 7 Jun 2016 17:52:24 -0700 Subject: [PATCH 008/179] Update manager.py --- manager.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/manager.py b/manager.py index 5dd47873..0383f46e 100644 --- a/manager.py +++ b/manager.py @@ -28,8 +28,6 @@ import csv -from collections import deque - def signal_term_handler(signal, frame): print('got SIGTERM') # If SIGTERM signal is intercepted, the SystemExit exception routines are ran @@ -80,8 +78,6 @@ def __init__(self, datalogflag=False, ): - self.queue = deque('') - self.datalog = datalog self.datalogflag = datalogflag From 67af4f0fadd79b27fb3a2fac521ef595af010d92 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 7 Jun 2016 17:53:30 -0700 Subject: [PATCH 009/179] manager now initiliazes an empty deque --- manager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manager.py b/manager.py index b7ae71ee..8ee6053b 100644 --- a/manager.py +++ b/manager.py @@ -27,6 +27,8 @@ import csv +from collections import deque + def signal_term_handler(signal, frame): print('got SIGTERM') # If SIGTERM signal is intercepted, the SystemExit exception routines are ran @@ -76,7 +78,9 @@ def __init__(self, datalog=None, datalogflag=False, ): - + + self.queue = deque('') + self.datalog = datalog self.datalogflag = datalogflag From 1792ee7a28b0f8cf92c4aabbf7cca242d09dc0bc Mon Sep 17 00:00:00 2001 From: tybtab Date: Wed, 8 Jun 2016 08:28:41 -0700 Subject: [PATCH 010/179] writing send to queue method --- manager.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/manager.py b/manager.py index 8ee6053b..b52f931d 100644 --- a/manager.py +++ b/manager.py @@ -325,6 +325,13 @@ def data_log(self, file, cpm, cpm_err): f.write('\n') self.vprint(2, 'Writing CPM to data log at {}'.format(file)) + def send_to_queue(self, cpm, cpm_err): + """ + Adds the time, cpm, and cpm_err to the deque object. + """ + time_string = time.strftime("%Y-%m-%d %H:%M:%S") + self.queue.append([time_string, cpm, cpm_err]) + def handle_cpm(self, this_start, this_end): """Get CPM from sensor, display text, send to server.""" @@ -356,6 +363,7 @@ def handle_cpm(self, this_start, this_end): elif not self.network_up: self.vprint(1, "Network down, not sending to server") self.data_log(self.datalog, cpm, cpm_err) + self.send_to_queue(cpm, cpm_err) else: self.sender.send_cpm(cpm, cpm_err) self.data_log(self.datalog, cpm, cpm_err) From 76607ab8766f43bcb489965f44bc4fe39579820d Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 9 Jun 2016 09:00:25 -0700 Subject: [PATCH 011/179] checking deque object --- manager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manager.py b/manager.py index b52f931d..93b41050 100644 --- a/manager.py +++ b/manager.py @@ -331,6 +331,7 @@ def send_to_queue(self, cpm, cpm_err): """ time_string = time.strftime("%Y-%m-%d %H:%M:%S") self.queue.append([time_string, cpm, cpm_err]) + print(self.queue) def handle_cpm(self, this_start, this_end): """Get CPM from sensor, display text, send to server.""" @@ -367,6 +368,7 @@ def handle_cpm(self, this_start, this_end): else: self.sender.send_cpm(cpm, cpm_err) self.data_log(self.datalog, cpm, cpm_err) + self.send_to_queue(cpm, cpm_err) def takedown(self): """Delete self and child objects and clean up GPIO nicely.""" From 25bcde5758decde555e5598bdda96a4a5f5d7185 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 9 Jun 2016 10:31:23 -0700 Subject: [PATCH 012/179] Update manager.py --- manager.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/manager.py b/manager.py index 93b41050..e382a100 100644 --- a/manager.py +++ b/manager.py @@ -29,6 +29,8 @@ from collections import deque +import socket + def signal_term_handler(signal, frame): print('got SIGTERM') # If SIGTERM signal is intercepted, the SystemExit exception routines are ran @@ -366,9 +368,11 @@ def handle_cpm(self, this_start, this_end): self.data_log(self.datalog, cpm, cpm_err) self.send_to_queue(cpm, cpm_err) else: - self.sender.send_cpm(cpm, cpm_err) - self.data_log(self.datalog, cpm, cpm_err) - self.send_to_queue(cpm, cpm_err) + try: + self.data_log(self.datalog, cpm, cpm_err) + self.sender.send_cpm(cpm, cpm_err) + except socket.error: + self.send_to_queue(cpm, cpm_err) def takedown(self): """Delete self and child objects and clean up GPIO nicely.""" From a4f224ce90ea4b12949845e3886a42848a9550d1 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 9 Jun 2016 17:25:29 -0700 Subject: [PATCH 013/179] Update manager.py --- manager.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/manager.py b/manager.py index e382a100..39ef6b14 100644 --- a/manager.py +++ b/manager.py @@ -118,6 +118,9 @@ def __init__(self, manager=self, verbosity=self.v, logfile=self.logfile) + self.data_handler = Data_Handler( + manager=self, + verbosity=self.v) def a_flag(self): """ From 7082fb8d029c00111b995dcf3a608da692bfba9f Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 9 Jun 2016 17:48:42 -0700 Subject: [PATCH 014/179] Update manager.py --- manager.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 39ef6b14..da882280 100644 --- a/manager.py +++ b/manager.py @@ -120,7 +120,8 @@ def __init__(self, logfile=self.logfile) self.data_handler = Data_Handler( manager=self, - verbosity=self.v) + verbosity=self.v, + logfile=self.logfile) def a_flag(self): """ From 9439d85de6da4cbaf1ed4abcf629fe8a724424f9 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 10:32:54 -0700 Subject: [PATCH 015/179] Add files via upload --- Data_handler.py | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Data_handler.py diff --git a/Data_handler.py b/Data_handler.py new file mode 100644 index 00000000..a9176c05 --- /dev/null +++ b/Data_handler.py @@ -0,0 +1,93 @@ +from auxiliaries import datetime_from_epoch +from sender import ServerSender +from sensor import Sensor +from manager import Manager +from globalvalues import ANSI_RED +# +class Data_Handler(object): + """ + Object for sending data to server. + + Also handles writing to datalog and + storing to memory. + """ + + def __init__(self, + manager=None + verbosity=1): + + self.v = verbosity + if manager and logfile is None: + set_verbosity(self, logfile=manager.logfile) + else: + set_verbosity(self, logfile=logfile) + + def test_send(self, datalog, cpm, cpm_err): + """ + Test Mode + """ + self.vprint( + 1, ANSI_RED + " * Test mode, not sending to server * " + + ANSI_RESET) + self.data_log(datalog, cpm, cpm_err) + + def no_config_send(self, datalog, cpm, cpm_err): + """ + Configuration file not present + """ + self.vprint(1, "Missing config file, not sending to server") + self.data_log(datalog, cpm, cpm_err) + + def no_publickey_send(self, datalog, cpm, cpm_err): + """ + Publickey not present + """ + self.vprint(1, "Missing public key, not sending to server") + self.data_log(datalog, cpm, cpm_err) + + def no_network_send(self, datalog, cpm, cpm_err): + """ + Network is not up + """ + self.vprint(1, "Network down, not sending to server") + self.data_log(datalog, cpm, cpm_err) + self.send_to_queue(cpm, cpm_err) + + def regular_send(self, datalog, cpm, cpm_err): + """ + Normal send + """ + try: + self.data_log(datalog, cpm, cpm_err) + manager.sender.send_cpm(cpm, cpm_err) + except socket.error: + self.send_to_queue(cpm, cpm_err) + + def main(self, datalog, cpm, cpm_err): + cpm, cpm_err = manager.sensor.get_cpm(manager.this_start, manager.this_end) + counts = int(round(cpm * manager.interval / 60)) + + start_text = datetime_from_epoch(manager.this_start).strftime(strf) + end_text = datetime_from_epoch(manager.this_end).strftime(strf) + + self.vprint(1, CPM_DISPLAY_TEXT.format( + time=datetime_from_epoch(time.time()), + counts=counts, + cpm=cpm, + cpm_err=cpm_err, + start_time=manager.start_text, + end_time=manager.end_text, + )) + + if manager.test: + self.test_send(datalog, cpm, cpm_err) + elif not manager.config: + self.no_config_send(datalog, cpm, cpm_err) + elif not manager.publickey: + self.no_publickey_send(datalog, cpm, cpm_err) + elif not manager.network_up: + self.no_network_send(datalog, cpm, cpm_err) + else: + self.regular_send(datalog, cpm, cpm_err) + + From 8e02cc74466b4084e367ff0f5d97d2bb4c47c8c4 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 10:33:41 -0700 Subject: [PATCH 016/179] Rename Data_handler.py to data_handler.py --- Data_handler.py => data_handler.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Data_handler.py => data_handler.py (100%) diff --git a/Data_handler.py b/data_handler.py similarity index 100% rename from Data_handler.py rename to data_handler.py From 388b39d3ecd02d576365fb7050a2ea2f721b22a0 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 10:37:50 -0700 Subject: [PATCH 017/179] Update manager.py --- manager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manager.py b/manager.py index da882280..32d030bc 100644 --- a/manager.py +++ b/manager.py @@ -13,6 +13,7 @@ from auxiliaries import datetime_from_epoch, set_verbosity from sensor import Sensor from sender import ServerSender +from data_handler import Data_Handler from globalvalues import SIGNAL_PIN, NOISE_PIN from globalvalues import POWER_LED_PIN, NETWORK_LED_PIN, COUNTS_LED_PIN @@ -340,7 +341,9 @@ def send_to_queue(self, cpm, cpm_err): print(self.queue) def handle_cpm(self, this_start, this_end): - """Get CPM from sensor, display text, send to server.""" + self.data_handler_main(self.datalog, cpm, cpm_err) + """ + Get CPM from sensor, display text, send to server cpm, cpm_err = self.sensor.get_cpm(this_start, this_end) counts = int(round(cpm * self.interval / 60)) @@ -377,6 +380,7 @@ def handle_cpm(self, this_start, this_end): self.sender.send_cpm(cpm, cpm_err) except socket.error: self.send_to_queue(cpm, cpm_err) + """ def takedown(self): """Delete self and child objects and clean up GPIO nicely.""" From 8c924f55ad2a00d9faeb508653db615aad419da1 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 10:38:41 -0700 Subject: [PATCH 018/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 32d030bc..ee09ae5e 100644 --- a/manager.py +++ b/manager.py @@ -341,7 +341,7 @@ def send_to_queue(self, cpm, cpm_err): print(self.queue) def handle_cpm(self, this_start, this_end): - self.data_handler_main(self.datalog, cpm, cpm_err) + self.data_handler.main(self.datalog, cpm, cpm_err) """ Get CPM from sensor, display text, send to server From cd806d0bf8f7f13b32f8da6545a5a6dab2a72f7c Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 10:43:08 -0700 Subject: [PATCH 019/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index a9176c05..93a3e9a3 100644 --- a/data_handler.py +++ b/data_handler.py @@ -13,7 +13,7 @@ class Data_Handler(object): """ def __init__(self, - manager=None + manager=None, verbosity=1): self.v = verbosity From 232546474b5676b9c980630c7beef5028caefd42 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 10:43:58 -0700 Subject: [PATCH 020/179] Update data_handler.py --- data_handler.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/data_handler.py b/data_handler.py index 93a3e9a3..68a67da5 100644 --- a/data_handler.py +++ b/data_handler.py @@ -16,11 +16,11 @@ def __init__(self, manager=None, verbosity=1): - self.v = verbosity - if manager and logfile is None: - set_verbosity(self, logfile=manager.logfile) - else: - set_verbosity(self, logfile=logfile) + self.v = verbosity + if manager and logfile is None: + set_verbosity(self, logfile=manager.logfile) + else: + set_verbosity(self, logfile=logfile) def test_send(self, datalog, cpm, cpm_err): """ From 8f73c5495437a5e28ec3a751a5e73e1c0609a091 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 10:49:42 -0700 Subject: [PATCH 021/179] Update data_handler.py --- data_handler.py | 96 ++++++++++++++++++++++++------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/data_handler.py b/data_handler.py index 68a67da5..77a463cd 100644 --- a/data_handler.py +++ b/data_handler.py @@ -36,58 +36,58 @@ def no_config_send(self, datalog, cpm, cpm_err): Configuration file not present """ self.vprint(1, "Missing config file, not sending to server") - self.data_log(datalog, cpm, cpm_err) + self.data_log(datalog, cpm, cpm_err) - def no_publickey_send(self, datalog, cpm, cpm_err): - """ - Publickey not present - """ - self.vprint(1, "Missing public key, not sending to server") - self.data_log(datalog, cpm, cpm_err) + def no_publickey_send(self, datalog, cpm, cpm_err): + """ + Publickey not present + """ + self.vprint(1, "Missing public key, not sending to server") + self.data_log(datalog, cpm, cpm_err) - def no_network_send(self, datalog, cpm, cpm_err): - """ - Network is not up - """ - self.vprint(1, "Network down, not sending to server") - self.data_log(datalog, cpm, cpm_err) - self.send_to_queue(cpm, cpm_err) + def no_network_send(self, datalog, cpm, cpm_err): + """ + Network is not up + """ + self.vprint(1, "Network down, not sending to server") + self.data_log(datalog, cpm, cpm_err) + self.send_to_queue(cpm, cpm_err) - def regular_send(self, datalog, cpm, cpm_err): - """ - Normal send - """ - try: - self.data_log(datalog, cpm, cpm_err) - manager.sender.send_cpm(cpm, cpm_err) - except socket.error: - self.send_to_queue(cpm, cpm_err) + def regular_send(self, datalog, cpm, cpm_err): + """ + Normal send + """ + try: + self.data_log(datalog, cpm, cpm_err) + manager.sender.send_cpm(cpm, cpm_err) + except socket.error: + self.send_to_queue(cpm, cpm_err) - def main(self, datalog, cpm, cpm_err): - cpm, cpm_err = manager.sensor.get_cpm(manager.this_start, manager.this_end) - counts = int(round(cpm * manager.interval / 60)) + def main(self, datalog, cpm, cpm_err): + cpm, cpm_err = manager.sensor.get_cpm(manager.this_start, manager.this_end) + counts = int(round(cpm * manager.interval / 60)) + + start_text = datetime_from_epoch(manager.this_start).strftime(strf) + end_text = datetime_from_epoch(manager.this_end).strftime(strf) + + self.vprint(1, CPM_DISPLAY_TEXT.format( + time=datetime_from_epoch(time.time()), + counts=counts, + cpm=cpm, + cpm_err=cpm_err, + start_time=manager.start_text, + end_time=manager.end_text, + )) - start_text = datetime_from_epoch(manager.this_start).strftime(strf) - end_text = datetime_from_epoch(manager.this_end).strftime(strf) - - self.vprint(1, CPM_DISPLAY_TEXT.format( - time=datetime_from_epoch(time.time()), - counts=counts, - cpm=cpm, - cpm_err=cpm_err, - start_time=manager.start_text, - end_time=manager.end_text, - )) - - if manager.test: - self.test_send(datalog, cpm, cpm_err) - elif not manager.config: - self.no_config_send(datalog, cpm, cpm_err) - elif not manager.publickey: - self.no_publickey_send(datalog, cpm, cpm_err) - elif not manager.network_up: - self.no_network_send(datalog, cpm, cpm_err) - else: - self.regular_send(datalog, cpm, cpm_err) + if manager.test: + self.test_send(datalog, cpm, cpm_err) + elif not manager.config: + self.no_config_send(datalog, cpm, cpm_err) + elif not manager.publickey: + self.no_publickey_send(datalog, cpm, cpm_err) + elif not manager.network_up: + self.no_network_send(datalog, cpm, cpm_err) + else: + self.regular_send(datalog, cpm, cpm_err) From d73993ea0d3de34979c8da2e5907ff81bf8abae7 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 10:50:34 -0700 Subject: [PATCH 022/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index 77a463cd..c8b37542 100644 --- a/data_handler.py +++ b/data_handler.py @@ -1,7 +1,7 @@ from auxiliaries import datetime_from_epoch from sender import ServerSender from sensor import Sensor -from manager import Manager +#from manager import Manager from globalvalues import ANSI_RED # class Data_Handler(object): From c6ce63a0d4224ad7a50d4c3320a8d2d9fcf91e10 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 10:54:26 -0700 Subject: [PATCH 023/179] Update manager.py --- manager.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manager.py b/manager.py index ee09ae5e..56fe9ed9 100644 --- a/manager.py +++ b/manager.py @@ -121,8 +121,7 @@ def __init__(self, logfile=self.logfile) self.data_handler = Data_Handler( manager=self, - verbosity=self.v, - logfile=self.logfile) + verbosity=self.v) def a_flag(self): """ From 952021a4ac86a9e2a7d2321bffeba3b5cd0a2dbf Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 10:55:48 -0700 Subject: [PATCH 024/179] Update manager.py --- manager.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 56fe9ed9..ee09ae5e 100644 --- a/manager.py +++ b/manager.py @@ -121,7 +121,8 @@ def __init__(self, logfile=self.logfile) self.data_handler = Data_Handler( manager=self, - verbosity=self.v) + verbosity=self.v, + logfile=self.logfile) def a_flag(self): """ From bf1bca839fe3661836ee08897d8f9e0ad1e13888 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 10:56:48 -0700 Subject: [PATCH 025/179] Update data_handler.py --- data_handler.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index c8b37542..d7decca0 100644 --- a/data_handler.py +++ b/data_handler.py @@ -14,7 +14,8 @@ class Data_Handler(object): def __init__(self, manager=None, - verbosity=1): + verbosity=1, + logfile=None): self.v = verbosity if manager and logfile is None: From 4b318ced4551abf5c72fa1f70b30e5acf3150541 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:01:33 -0700 Subject: [PATCH 026/179] Update data_handler.py --- data_handler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data_handler.py b/data_handler.py index d7decca0..1f22e933 100644 --- a/data_handler.py +++ b/data_handler.py @@ -1,9 +1,9 @@ from auxiliaries import datetime_from_epoch from sender import ServerSender from sensor import Sensor -#from manager import Manager +from auxiliaries import set_verbosity from globalvalues import ANSI_RED -# + class Data_Handler(object): """ Object for sending data to server. From b3d1a9fefa955c07d7a84180c4bc63a459fd3469 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:05:40 -0700 Subject: [PATCH 027/179] Update manager.py --- manager.py | 41 +---------------------------------------- 1 file changed, 1 insertion(+), 40 deletions(-) diff --git a/manager.py b/manager.py index ee09ae5e..5f92b7a5 100644 --- a/manager.py +++ b/manager.py @@ -342,46 +342,7 @@ def send_to_queue(self, cpm, cpm_err): def handle_cpm(self, this_start, this_end): self.data_handler.main(self.datalog, cpm, cpm_err) - """ - Get CPM from sensor, display text, send to server - - cpm, cpm_err = self.sensor.get_cpm(this_start, this_end) - counts = int(round(cpm * self.interval / 60)) - - start_text = datetime_from_epoch(this_start).strftime(strf) - end_text = datetime_from_epoch(this_end).strftime(strf) - - self.vprint(1, CPM_DISPLAY_TEXT.format( - time=datetime_from_epoch(time.time()), - counts=counts, - cpm=cpm, - cpm_err=cpm_err, - start_time=start_text, - end_time=end_text, - )) - if self.test: - self.vprint( - 1, ANSI_RED + " * Test mode, not sending to server * " + - ANSI_RESET) - self.data_log(self.datalog, cpm, cpm_err) - elif not self.config: - self.vprint(1, "Missing config file, not sending to server") - self.data_log(self.datalog, cpm, cpm_err) - elif not self.publickey: - self.vprint(1, "Missing public key, not sending to server") - self.data_log(self.datalog, cpm, cpm_err) - elif not self.network_up: - self.vprint(1, "Network down, not sending to server") - self.data_log(self.datalog, cpm, cpm_err) - self.send_to_queue(cpm, cpm_err) - else: - try: - self.data_log(self.datalog, cpm, cpm_err) - self.sender.send_cpm(cpm, cpm_err) - except socket.error: - self.send_to_queue(cpm, cpm_err) - """ - + def takedown(self): """Delete self and child objects and clean up GPIO nicely.""" From 5e83e096cf1ba8a2a316ef3008c660af26674e7c Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:06:36 -0700 Subject: [PATCH 028/179] Update data_handler.py --- data_handler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/data_handler.py b/data_handler.py index 1f22e933..f86b2b77 100644 --- a/data_handler.py +++ b/data_handler.py @@ -3,6 +3,7 @@ from sensor import Sensor from auxiliaries import set_verbosity from globalvalues import ANSI_RED +from collections import deque class Data_Handler(object): """ From e27ca85692b50122429131f7add8c670d3bca1e6 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:16:24 -0700 Subject: [PATCH 029/179] Update manager.py --- manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/manager.py b/manager.py index 5f92b7a5..91b8af3b 100644 --- a/manager.py +++ b/manager.py @@ -341,6 +341,7 @@ def send_to_queue(self, cpm, cpm_err): print(self.queue) def handle_cpm(self, this_start, this_end): + cpm, cpm_err = self.sensor.get_cpm(self.this_start, self.this_end) self.data_handler.main(self.datalog, cpm, cpm_err) def takedown(self): From 97e5c715b88abdf9508bf756cae686dc34bdcdea Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:16:37 -0700 Subject: [PATCH 030/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index f86b2b77..b7360af8 100644 --- a/data_handler.py +++ b/data_handler.py @@ -66,7 +66,7 @@ def regular_send(self, datalog, cpm, cpm_err): self.send_to_queue(cpm, cpm_err) def main(self, datalog, cpm, cpm_err): - cpm, cpm_err = manager.sensor.get_cpm(manager.this_start, manager.this_end) + #cpm, cpm_err = manager.sensor.get_cpm(manager.this_start, manager.this_end) counts = int(round(cpm * manager.interval / 60)) start_text = datetime_from_epoch(manager.this_start).strftime(strf) From a8983ae3ff9f87a439ed26872eed1df488cf70e0 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:23:37 -0700 Subject: [PATCH 031/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 91b8af3b..fc4fb31c 100644 --- a/manager.py +++ b/manager.py @@ -341,7 +341,7 @@ def send_to_queue(self, cpm, cpm_err): print(self.queue) def handle_cpm(self, this_start, this_end): - cpm, cpm_err = self.sensor.get_cpm(self.this_start, self.this_end) + cpm, cpm_err = self.sensor.get_cpm(this_start, this_end) self.data_handler.main(self.datalog, cpm, cpm_err) def takedown(self): From c3be1cbb6234fab55c37904496d2d5e5abf8f76d Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:26:26 -0700 Subject: [PATCH 032/179] Update data_handler.py --- data_handler.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/data_handler.py b/data_handler.py index b7360af8..12c4db6f 100644 --- a/data_handler.py +++ b/data_handler.py @@ -65,20 +65,20 @@ def regular_send(self, datalog, cpm, cpm_err): except socket.error: self.send_to_queue(cpm, cpm_err) - def main(self, datalog, cpm, cpm_err): + def main(self, datalog, cpm, cpm_err, this_start, this_end): #cpm, cpm_err = manager.sensor.get_cpm(manager.this_start, manager.this_end) counts = int(round(cpm * manager.interval / 60)) - start_text = datetime_from_epoch(manager.this_start).strftime(strf) - end_text = datetime_from_epoch(manager.this_end).strftime(strf) + start_text = datetime_from_epoch(this_start).strftime(strf) + end_text = datetime_from_epoch(this_end).strftime(strf) self.vprint(1, CPM_DISPLAY_TEXT.format( time=datetime_from_epoch(time.time()), counts=counts, cpm=cpm, cpm_err=cpm_err, - start_time=manager.start_text, - end_time=manager.end_text, + start_time=start_text, + end_time=end_text, )) if manager.test: From a0b71055596297230244a0abe3df1ed485f0c9f2 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:26:57 -0700 Subject: [PATCH 033/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index fc4fb31c..baff337e 100644 --- a/manager.py +++ b/manager.py @@ -342,7 +342,7 @@ def send_to_queue(self, cpm, cpm_err): def handle_cpm(self, this_start, this_end): cpm, cpm_err = self.sensor.get_cpm(this_start, this_end) - self.data_handler.main(self.datalog, cpm, cpm_err) + self.data_handler.main(self.datalog, cpm, cpm_err, this_start, this_end) def takedown(self): """Delete self and child objects and clean up GPIO nicely.""" From 7a38f621ba2821d4d92419002e1dfb7074a3c551 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:29:09 -0700 Subject: [PATCH 034/179] Update data_handler.py --- data_handler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/data_handler.py b/data_handler.py index 12c4db6f..4fea1713 100644 --- a/data_handler.py +++ b/data_handler.py @@ -4,6 +4,7 @@ from auxiliaries import set_verbosity from globalvalues import ANSI_RED from collections import deque +import socket class Data_Handler(object): """ From 83bc3da50449823f003877db97f6db59c4161f04 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:33:45 -0700 Subject: [PATCH 035/179] Update data_handler.py --- data_handler.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/data_handler.py b/data_handler.py index 4fea1713..fe3a96ca 100644 --- a/data_handler.py +++ b/data_handler.py @@ -1,6 +1,7 @@ from auxiliaries import datetime_from_epoch from sender import ServerSender from sensor import Sensor +from manager import Manager from auxiliaries import set_verbosity from globalvalues import ANSI_RED from collections import deque @@ -32,39 +33,39 @@ def test_send(self, datalog, cpm, cpm_err): self.vprint( 1, ANSI_RED + " * Test mode, not sending to server * " + ANSI_RESET) - self.data_log(datalog, cpm, cpm_err) + manager.data_log(datalog, cpm, cpm_err) def no_config_send(self, datalog, cpm, cpm_err): """ Configuration file not present """ self.vprint(1, "Missing config file, not sending to server") - self.data_log(datalog, cpm, cpm_err) + manager.data_log(datalog, cpm, cpm_err) def no_publickey_send(self, datalog, cpm, cpm_err): """ Publickey not present """ self.vprint(1, "Missing public key, not sending to server") - self.data_log(datalog, cpm, cpm_err) + manager.data_log(datalog, cpm, cpm_err) def no_network_send(self, datalog, cpm, cpm_err): """ Network is not up """ self.vprint(1, "Network down, not sending to server") - self.data_log(datalog, cpm, cpm_err) - self.send_to_queue(cpm, cpm_err) + manager.data_log(datalog, cpm, cpm_err) + manager.send_to_queue(cpm, cpm_err) def regular_send(self, datalog, cpm, cpm_err): """ Normal send """ try: - self.data_log(datalog, cpm, cpm_err) + manager.data_log(datalog, cpm, cpm_err) manager.sender.send_cpm(cpm, cpm_err) except socket.error: - self.send_to_queue(cpm, cpm_err) + manager.send_to_queue(cpm, cpm_err) def main(self, datalog, cpm, cpm_err, this_start, this_end): #cpm, cpm_err = manager.sensor.get_cpm(manager.this_start, manager.this_end) From e42b42a141beefb1fa6aee33d5b6e5afef6ad96f Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:37:12 -0700 Subject: [PATCH 036/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index fe3a96ca..125a9438 100644 --- a/data_handler.py +++ b/data_handler.py @@ -1,7 +1,7 @@ from auxiliaries import datetime_from_epoch from sender import ServerSender from sensor import Sensor -from manager import Manager +#from manager import Manager from auxiliaries import set_verbosity from globalvalues import ANSI_RED from collections import deque From 3579a96ae990395c598eee5f126b578dad0b0d05 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:43:49 -0700 Subject: [PATCH 037/179] Update data_handler.py --- data_handler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data_handler.py b/data_handler.py index 125a9438..2b76f29a 100644 --- a/data_handler.py +++ b/data_handler.py @@ -67,9 +67,9 @@ def regular_send(self, datalog, cpm, cpm_err): except socket.error: manager.send_to_queue(cpm, cpm_err) - def main(self, datalog, cpm, cpm_err, this_start, this_end): + def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): #cpm, cpm_err = manager.sensor.get_cpm(manager.this_start, manager.this_end) - counts = int(round(cpm * manager.interval / 60)) + #counts = int(round(cpm * manager.interval / 60)) start_text = datetime_from_epoch(this_start).strftime(strf) end_text = datetime_from_epoch(this_end).strftime(strf) From abea02b2f072a4fdf0ec55c8e94fdbd71152e6c8 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:44:34 -0700 Subject: [PATCH 038/179] Update manager.py --- manager.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manager.py b/manager.py index baff337e..8a5df771 100644 --- a/manager.py +++ b/manager.py @@ -342,7 +342,8 @@ def send_to_queue(self, cpm, cpm_err): def handle_cpm(self, this_start, this_end): cpm, cpm_err = self.sensor.get_cpm(this_start, this_end) - self.data_handler.main(self.datalog, cpm, cpm_err, this_start, this_end) + counts = int(round(cpm * manager.interval / 60)) + self.data_handler.main(self.datalog, cpm, cpm_err, this_start, this_end, counts) def takedown(self): """Delete self and child objects and clean up GPIO nicely.""" From beb5983199604b73c34433f94bb34b278c93179f Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 11:53:02 -0700 Subject: [PATCH 039/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 8a5df771..d037b7b9 100644 --- a/manager.py +++ b/manager.py @@ -342,7 +342,7 @@ def send_to_queue(self, cpm, cpm_err): def handle_cpm(self, this_start, this_end): cpm, cpm_err = self.sensor.get_cpm(this_start, this_end) - counts = int(round(cpm * manager.interval / 60)) + counts = int(round(cpm * self.interval / 60)) self.data_handler.main(self.datalog, cpm, cpm_err, this_start, this_end, counts) def takedown(self): From cf062671b453cd197e914f84a26dd7cc33894816 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 12:01:58 -0700 Subject: [PATCH 040/179] Update data_handler.py --- data_handler.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data_handler.py b/data_handler.py index 2b76f29a..529ec474 100644 --- a/data_handler.py +++ b/data_handler.py @@ -7,6 +7,8 @@ from collections import deque import socket +strf = '%H:%M:%S' + class Data_Handler(object): """ Object for sending data to server. From e8e89072f50358dcec2ca276e12829df25dfafaa Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 12:12:00 -0700 Subject: [PATCH 041/179] Update data_handler.py --- data_handler.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index 529ec474..b1e96329 100644 --- a/data_handler.py +++ b/data_handler.py @@ -3,10 +3,15 @@ from sensor import Sensor #from manager import Manager from auxiliaries import set_verbosity -from globalvalues import ANSI_RED +from globalvalues import ANSI_RESET, ANSI_YEL, ANSI_GR, ANSI_RED from collections import deque import socket +CPM_DISPLAY_TEXT = ( + '{{time}}: {yellow} {{counts}} cts{reset}' + + ' --- {green}{{cpm:.2f}} +/- {{cpm_err:.2f}} cpm{reset}' + + ' ({{start_time}} to {{end_time}})').format( + yellow=ANSI_YEL, reset=ANSI_RESET, green=ANSI_GR) strf = '%H:%M:%S' class Data_Handler(object): From acc96610c56e4355398ffc00f6324ef49bedfaf6 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 10 Jun 2016 12:20:14 -0700 Subject: [PATCH 042/179] Update data_handler.py --- data_handler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/data_handler.py b/data_handler.py index b1e96329..2c11cb20 100644 --- a/data_handler.py +++ b/data_handler.py @@ -6,6 +6,7 @@ from globalvalues import ANSI_RESET, ANSI_YEL, ANSI_GR, ANSI_RED from collections import deque import socket +import time CPM_DISPLAY_TEXT = ( '{{time}}: {yellow} {{counts}} cts{reset}' + From e970fd0d0cd9a28ede0cd30676884945b3be3050 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 13 Jun 2016 09:18:37 -0700 Subject: [PATCH 043/179] Update data_handler.py --- data_handler.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/data_handler.py b/data_handler.py index 2c11cb20..a4fbe4a6 100644 --- a/data_handler.py +++ b/data_handler.py @@ -41,39 +41,39 @@ def test_send(self, datalog, cpm, cpm_err): self.vprint( 1, ANSI_RED + " * Test mode, not sending to server * " + ANSI_RESET) - manager.data_log(datalog, cpm, cpm_err) + self.manager.data_log(datalog, cpm, cpm_err) def no_config_send(self, datalog, cpm, cpm_err): """ Configuration file not present """ self.vprint(1, "Missing config file, not sending to server") - manager.data_log(datalog, cpm, cpm_err) + self.manager.data_log(datalog, cpm, cpm_err) def no_publickey_send(self, datalog, cpm, cpm_err): """ Publickey not present """ self.vprint(1, "Missing public key, not sending to server") - manager.data_log(datalog, cpm, cpm_err) + self.manager.data_log(datalog, cpm, cpm_err) def no_network_send(self, datalog, cpm, cpm_err): """ Network is not up """ self.vprint(1, "Network down, not sending to server") - manager.data_log(datalog, cpm, cpm_err) - manager.send_to_queue(cpm, cpm_err) + self.manager.data_log(datalog, cpm, cpm_err) + self.manager.send_to_queue(cpm, cpm_err) def regular_send(self, datalog, cpm, cpm_err): """ Normal send """ try: - manager.data_log(datalog, cpm, cpm_err) - manager.sender.send_cpm(cpm, cpm_err) + self.manager.data_log(datalog, cpm, cpm_err) + self.manager.sender.send_cpm(cpm, cpm_err) except socket.error: - manager.send_to_queue(cpm, cpm_err) + self.manager.send_to_queue(cpm, cpm_err) def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): #cpm, cpm_err = manager.sensor.get_cpm(manager.this_start, manager.this_end) @@ -91,13 +91,13 @@ def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): end_time=end_text, )) - if manager.test: + if self.manager.test: self.test_send(datalog, cpm, cpm_err) - elif not manager.config: + elif not self.manager.config: self.no_config_send(datalog, cpm, cpm_err) - elif not manager.publickey: + elif not self.manager.publickey: self.no_publickey_send(datalog, cpm, cpm_err) - elif not manager.network_up: + elif not self.manager.network_up: self.no_network_send(datalog, cpm, cpm_err) else: self.regular_send(datalog, cpm, cpm_err) From 9d29ee2bd821c1a34346222e9e28ab2a1dfa8ad4 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 13 Jun 2016 09:32:17 -0700 Subject: [PATCH 044/179] Update data_handler.py --- data_handler.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index a4fbe4a6..e22b9350 100644 --- a/data_handler.py +++ b/data_handler.py @@ -33,7 +33,8 @@ def __init__(self, set_verbosity(self, logfile=manager.logfile) else: set_verbosity(self, logfile=logfile) - + + self.manager = manager def test_send(self, datalog, cpm, cpm_err): """ Test Mode From 20450686afa22ecb629487cba9cda803905aa171 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 13 Jun 2016 10:04:00 -0700 Subject: [PATCH 045/179] Update data_handler.py --- data_handler.py | 1 - 1 file changed, 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index e22b9350..5859782a 100644 --- a/data_handler.py +++ b/data_handler.py @@ -1,7 +1,6 @@ from auxiliaries import datetime_from_epoch from sender import ServerSender from sensor import Sensor -#from manager import Manager from auxiliaries import set_verbosity from globalvalues import ANSI_RESET, ANSI_YEL, ANSI_GR, ANSI_RED from collections import deque From c066f36eeb3290ecfee92cdfbd66c2714618db7c Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 13 Jun 2016 10:06:59 -0700 Subject: [PATCH 046/179] Update manager.py --- manager.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/manager.py b/manager.py index d037b7b9..582ba151 100644 --- a/manager.py +++ b/manager.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from __future__ import print_function + import time import argparse import traceback @@ -341,6 +342,9 @@ def send_to_queue(self, cpm, cpm_err): print(self.queue) def handle_cpm(self, this_start, this_end): + """ + Get CPM from sensor, display text, send to server. + """ cpm, cpm_err = self.sensor.get_cpm(this_start, this_end) counts = int(round(cpm * self.interval / 60)) self.data_handler.main(self.datalog, cpm, cpm_err, this_start, this_end, counts) From f5bc23ec6c1c000d715951db79ca5609d3fe7c25 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 13 Jun 2016 10:07:37 -0700 Subject: [PATCH 047/179] Update manager.py --- manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/manager.py b/manager.py index 582ba151..55400865 100644 --- a/manager.py +++ b/manager.py @@ -83,6 +83,7 @@ def __init__(self, datalogflag=False, ): + self.queue = deque('') self.datalog = datalog From 2a23fed43b1d069da51f0f7972298d57ac6014af Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 13 Jun 2016 10:08:27 -0700 Subject: [PATCH 048/179] Update manager.py --- manager.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manager.py b/manager.py index 55400865..3f31260a 100644 --- a/manager.py +++ b/manager.py @@ -82,8 +82,7 @@ def __init__(self, datalog=None, datalogflag=False, ): - - + self.queue = deque('') self.datalog = datalog From 133b35594eb6bb4f858d32de8b1d0eb10a553bc8 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 13 Jun 2016 10:30:42 -0700 Subject: [PATCH 049/179] Update data_handler.py --- data_handler.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/data_handler.py b/data_handler.py index 5859782a..ec061647 100644 --- a/data_handler.py +++ b/data_handler.py @@ -23,9 +23,9 @@ class Data_Handler(object): """ def __init__(self, - manager=None, - verbosity=1, - logfile=None): + manager=None, + verbosity=1, + logfile=None): self.v = verbosity if manager and logfile is None: @@ -76,9 +76,9 @@ def regular_send(self, datalog, cpm, cpm_err): self.manager.send_to_queue(cpm, cpm_err) def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): - #cpm, cpm_err = manager.sensor.get_cpm(manager.this_start, manager.this_end) - #counts = int(round(cpm * manager.interval / 60)) - + """ + Determines how to handle the cpm data. + """ start_text = datetime_from_epoch(this_start).strftime(strf) end_text = datetime_from_epoch(this_end).strftime(strf) From 7e32691d6244ab18700468501eeefd8a7334ed80 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 13 Jun 2016 10:33:49 -0700 Subject: [PATCH 050/179] Update data_handler.py --- data_handler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data_handler.py b/data_handler.py index ec061647..477e282f 100644 --- a/data_handler.py +++ b/data_handler.py @@ -39,8 +39,8 @@ def test_send(self, datalog, cpm, cpm_err): Test Mode """ self.vprint( - 1, ANSI_RED + " * Test mode, not sending to server * " + - ANSI_RESET) + 1, ANSI_RED + " * Test mode, not sending to server * " + + ANSI_RESET) self.manager.data_log(datalog, cpm, cpm_err) def no_config_send(self, datalog, cpm, cpm_err): From 4ddfbe34fb19178fc6c4ea2ef0b9ff09fcf35c33 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 13 Jun 2016 11:36:46 -0700 Subject: [PATCH 051/179] Update data_handler.py --- data_handler.py | 150 ++++++++++++++++++++++++------------------------ 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/data_handler.py b/data_handler.py index 477e282f..b58ca1c1 100644 --- a/data_handler.py +++ b/data_handler.py @@ -15,91 +15,91 @@ strf = '%H:%M:%S' class Data_Handler(object): - """ - Object for sending data to server. + """ + Object for sending data to server. - Also handles writing to datalog and - storing to memory. - """ + Also handles writing to datalog and + storing to memory. + """ - def __init__(self, - manager=None, - verbosity=1, - logfile=None): + def __init__(self, + manager=None, + verbosity=1, + logfile=None): - self.v = verbosity - if manager and logfile is None: - set_verbosity(self, logfile=manager.logfile) - else: - set_verbosity(self, logfile=logfile) + self.v = verbosity + if manager and logfile is None: + set_verbosity(self, logfile=manager.logfile) + else: + set_verbosity(self, logfile=logfile) - self.manager = manager - def test_send(self, datalog, cpm, cpm_err): - """ - Test Mode - """ - self.vprint( - 1, ANSI_RED + " * Test mode, not sending to server * " + - ANSI_RESET) - self.manager.data_log(datalog, cpm, cpm_err) + self.manager = manager + def test_send(self, datalog, cpm, cpm_err): + """ + Test Mode + """ + self.vprint( + 1, ANSI_RED + " * Test mode, not sending to server * " + + ANSI_RESET) + self.manager.data_log(datalog, cpm, cpm_err) - def no_config_send(self, datalog, cpm, cpm_err): - """ - Configuration file not present - """ - self.vprint(1, "Missing config file, not sending to server") - self.manager.data_log(datalog, cpm, cpm_err) + def no_config_send(self, datalog, cpm, cpm_err): + """ + Configuration file not present + """ + self.vprint(1, "Missing config file, not sending to server") + self.manager.data_log(datalog, cpm, cpm_err) - def no_publickey_send(self, datalog, cpm, cpm_err): - """ - Publickey not present - """ - self.vprint(1, "Missing public key, not sending to server") - self.manager.data_log(datalog, cpm, cpm_err) + def no_publickey_send(self, datalog, cpm, cpm_err): + """ + Publickey not present + """ + self.vprint(1, "Missing public key, not sending to server") + self.manager.data_log(datalog, cpm, cpm_err) - def no_network_send(self, datalog, cpm, cpm_err): - """ - Network is not up - """ - self.vprint(1, "Network down, not sending to server") - self.manager.data_log(datalog, cpm, cpm_err) - self.manager.send_to_queue(cpm, cpm_err) + def no_network_send(self, datalog, cpm, cpm_err): + """ + Network is not up + """ + self.vprint(1, "Network down, not sending to server") + self.manager.data_log(datalog, cpm, cpm_err) + self.manager.send_to_queue(cpm, cpm_err) - def regular_send(self, datalog, cpm, cpm_err): - """ - Normal send - """ - try: - self.manager.data_log(datalog, cpm, cpm_err) - self.manager.sender.send_cpm(cpm, cpm_err) - except socket.error: - self.manager.send_to_queue(cpm, cpm_err) + def regular_send(self, datalog, cpm, cpm_err): + """ + Normal send + """ + try: + self.manager.data_log(datalog, cpm, cpm_err) + self.manager.sender.send_cpm(cpm, cpm_err) + except socket.error: + self.manager.send_to_queue(cpm, cpm_err) - def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): - """ - Determines how to handle the cpm data. - """ - start_text = datetime_from_epoch(this_start).strftime(strf) - end_text = datetime_from_epoch(this_end).strftime(strf) + def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): + """ + Determines how to handle the cpm data. + """ + start_text = datetime_from_epoch(this_start).strftime(strf) + end_text = datetime_from_epoch(this_end).strftime(strf) - self.vprint(1, CPM_DISPLAY_TEXT.format( - time=datetime_from_epoch(time.time()), - counts=counts, - cpm=cpm, - cpm_err=cpm_err, - start_time=start_text, - end_time=end_text, - )) + self.vprint(1, CPM_DISPLAY_TEXT.format( + time=datetime_from_epoch(time.time()), + counts=counts, + cpm=cpm, + cpm_err=cpm_err, + start_time=start_text, + end_time=end_text, + )) - if self.manager.test: - self.test_send(datalog, cpm, cpm_err) - elif not self.manager.config: - self.no_config_send(datalog, cpm, cpm_err) - elif not self.manager.publickey: - self.no_publickey_send(datalog, cpm, cpm_err) - elif not self.manager.network_up: - self.no_network_send(datalog, cpm, cpm_err) - else: - self.regular_send(datalog, cpm, cpm_err) + if self.manager.test: + self.test_send(datalog, cpm, cpm_err) + elif not self.manager.config: + self.no_config_send(datalog, cpm, cpm_err) + elif not self.manager.publickey: + self.no_publickey_send(datalog, cpm, cpm_err) + elif not self.manager.network_up: + self.no_network_send(datalog, cpm, cpm_err) + else: + self.regular_send(datalog, cpm, cpm_err) From 9421a4dfcff5f7b4334f1f1a4510692b3a53983b Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 13 Jun 2016 11:43:01 -0700 Subject: [PATCH 052/179] Only calls datalog in main --- data_handler.py | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/data_handler.py b/data_handler.py index b58ca1c1..a8fe36ad 100644 --- a/data_handler.py +++ b/data_handler.py @@ -34,43 +34,38 @@ def __init__(self, set_verbosity(self, logfile=logfile) self.manager = manager - def test_send(self, datalog, cpm, cpm_err): + def test_send(self, cpm, cpm_err): """ Test Mode """ self.vprint( 1, ANSI_RED + " * Test mode, not sending to server * " + ANSI_RESET) - self.manager.data_log(datalog, cpm, cpm_err) - def no_config_send(self, datalog, cpm, cpm_err): + def no_config_send(self, cpm, cpm_err): """ Configuration file not present """ self.vprint(1, "Missing config file, not sending to server") - self.manager.data_log(datalog, cpm, cpm_err) - def no_publickey_send(self, datalog, cpm, cpm_err): + def no_publickey_send(self, cpm, cpm_err): """ Publickey not present """ self.vprint(1, "Missing public key, not sending to server") - self.manager.data_log(datalog, cpm, cpm_err) - def no_network_send(self, datalog, cpm, cpm_err): + def no_network_send(self, cpm, cpm_err): """ Network is not up """ self.vprint(1, "Network down, not sending to server") - self.manager.data_log(datalog, cpm, cpm_err) self.manager.send_to_queue(cpm, cpm_err) - def regular_send(self, datalog, cpm, cpm_err): + def regular_send(self, cpm, cpm_err): """ Normal send """ try: - self.manager.data_log(datalog, cpm, cpm_err) self.manager.sender.send_cpm(cpm, cpm_err) except socket.error: self.manager.send_to_queue(cpm, cpm_err) @@ -90,16 +85,18 @@ def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): start_time=start_text, end_time=end_text, )) + + self.manager.data_log(datalog, cpm, cpm_err) if self.manager.test: - self.test_send(datalog, cpm, cpm_err) + self.test_send(cpm, cpm_err) elif not self.manager.config: - self.no_config_send(datalog, cpm, cpm_err) + self.no_config_send(cpm, cpm_err) elif not self.manager.publickey: - self.no_publickey_send(datalog, cpm, cpm_err) + self.no_publickey_send(cpm, cpm_err) elif not self.manager.network_up: - self.no_network_send(datalog, cpm, cpm_err) + self.no_network_send(cpm, cpm_err) else: - self.regular_send(datalog, cpm, cpm_err) + self.regular_send(cpm, cpm_err) From d2d53bc5f2f60464d615ccb94299c8d700da2e45 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 09:17:12 -0700 Subject: [PATCH 053/179] Update tests.py --- tests.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests.py b/tests.py index 941c50c7..07948f26 100644 --- a/tests.py +++ b/tests.py @@ -362,6 +362,26 @@ def tearDown(self): os.remove(TEST_DATALOG) print() +class DataHandle(unittest.TestCase): + + def setUp(self): + print('Testing Data Handle') + + def test_no_network(self): + mgr = Manager() + mgr.network_up = False + + now = time.time() + mgr.handle_cpm(now - 10, now) + [mgr.sensor.count() for _ in xrange(2)] + mgr.handle_cpm(now, now + 10) + + GPIO.cleanup() + del(mgr) + + def tearDown(self): + print() + # ... if __name__ == '__main__': From c8cb7d6bbf128eeefcd42b9672215ffc24eba0fd Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 09:21:38 -0700 Subject: [PATCH 054/179] Update tests.py --- tests.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests.py b/tests.py index 07948f26..0fc5c908 100644 --- a/tests.py +++ b/tests.py @@ -365,7 +365,7 @@ def tearDown(self): class DataHandle(unittest.TestCase): def setUp(self): - print('Testing Data Handle') + print('Testing Deque Object') def test_no_network(self): mgr = Manager() @@ -376,6 +376,9 @@ def test_no_network(self): [mgr.sensor.count() for _ in xrange(2)] mgr.handle_cpm(now, now + 10) + self.assertIsNotNone(mgr.queue) + self.assertEqual(mgr.queue, 2) + GPIO.cleanup() del(mgr) From 365495d2cfed2cf9a4e5825422d5153123143d0b Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 09:23:01 -0700 Subject: [PATCH 055/179] Update tests.py --- tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests.py b/tests.py index 0fc5c908..c259a244 100644 --- a/tests.py +++ b/tests.py @@ -377,7 +377,7 @@ def test_no_network(self): mgr.handle_cpm(now, now + 10) self.assertIsNotNone(mgr.queue) - self.assertEqual(mgr.queue, 2) + self.assertEqual(len(mgr.queue), 2) GPIO.cleanup() del(mgr) From e1593bc2b5ee197b9e0f1f6daef57634cdb0d21f Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 09:29:57 -0700 Subject: [PATCH 056/179] Update tests.py --- tests.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests.py b/tests.py index c259a244..4946d094 100644 --- a/tests.py +++ b/tests.py @@ -362,7 +362,7 @@ def tearDown(self): os.remove(TEST_DATALOG) print() -class DataHandle(unittest.TestCase): +class DequeObject(unittest.TestCase): def setUp(self): print('Testing Deque Object') @@ -378,6 +378,7 @@ def test_no_network(self): self.assertIsNotNone(mgr.queue) self.assertEqual(len(mgr.queue), 2) + self.assertIsNotNone(Data_Handler) GPIO.cleanup() del(mgr) From b7a3c089b1501bdfeb51b70d8b47d3465caeb676 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 09:31:42 -0700 Subject: [PATCH 057/179] Update tests.py --- tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests.py b/tests.py index 4946d094..d9355406 100644 --- a/tests.py +++ b/tests.py @@ -378,7 +378,7 @@ def test_no_network(self): self.assertIsNotNone(mgr.queue) self.assertEqual(len(mgr.queue), 2) - self.assertIsNotNone(Data_Handler) + #self.assertIsNotNone(Data_Handler) GPIO.cleanup() del(mgr) From de76489bff07b3adb960f711475addc58a0962af Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 09:33:23 -0700 Subject: [PATCH 058/179] Update tests.py --- tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests.py b/tests.py index d9355406..b3de7efe 100644 --- a/tests.py +++ b/tests.py @@ -378,7 +378,7 @@ def test_no_network(self): self.assertIsNotNone(mgr.queue) self.assertEqual(len(mgr.queue), 2) - #self.assertIsNotNone(Data_Handler) + self.assertIsNotNone(mgr.data_handler) GPIO.cleanup() del(mgr) From 6091d145e6302ecb3ccc37cab1b3c143d7f95e39 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 09:36:37 -0700 Subject: [PATCH 059/179] Update tests.py --- tests.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests.py b/tests.py index b3de7efe..81e48f31 100644 --- a/tests.py +++ b/tests.py @@ -368,6 +368,12 @@ def setUp(self): print('Testing Deque Object') def test_no_network(self): + """ + Creates a deque data structure, runs manager with no network, + checks if deque was created, checks if cpm data was added to + the deque object, checks if the Data_Handler class was + created. + """ mgr = Manager() mgr.network_up = False From b15402447bd26e983ce151eeafa1c7303b59f90f Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 10:09:29 -0700 Subject: [PATCH 060/179] Update data_handler.py --- data_handler.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/data_handler.py b/data_handler.py index a8fe36ad..0d888602 100644 --- a/data_handler.py +++ b/data_handler.py @@ -67,6 +67,9 @@ def regular_send(self, cpm, cpm_err): """ try: self.manager.sender.send_cpm(cpm, cpm_err) + if len(self.manager.queue) != 0: + for i in self.manager.queue: + self.manager.sender.send_cpm(cpm[i][1], cpm_err[i][2]) except socket.error: self.manager.send_to_queue(cpm, cpm_err) From ac6b6f7d9a55e619e146ee943f142d1dbe7a0f73 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 10:28:14 -0700 Subject: [PATCH 061/179] Update tests.py --- tests.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests.py b/tests.py index 81e48f31..7fb97f95 100644 --- a/tests.py +++ b/tests.py @@ -386,6 +386,10 @@ def test_no_network(self): self.assertEqual(len(mgr.queue), 2) self.assertIsNotNone(mgr.data_handler) + mgr.network_up = True + mgr.handle_cpm(now + 10, now + 20) + print(mgr.queue) + GPIO.cleanup() del(mgr) From e40dfa0794567a00c1079eb8397abe4b7fd90674 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 10:54:51 -0700 Subject: [PATCH 062/179] Update data_handler.py --- data_handler.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index 0d888602..f7a6d6bc 100644 --- a/data_handler.py +++ b/data_handler.py @@ -69,7 +69,8 @@ def regular_send(self, cpm, cpm_err): self.manager.sender.send_cpm(cpm, cpm_err) if len(self.manager.queue) != 0: for i in self.manager.queue: - self.manager.sender.send_cpm(cpm[i][1], cpm_err[i][2]) + trash = self.manager.queue.popleft() + self.manager.sender.send_cpm(trash[1], trash[1]) except socket.error: self.manager.send_to_queue(cpm, cpm_err) From 8907633400ac33af3b5758aa77f9dbe87a122ee5 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 10:56:02 -0700 Subject: [PATCH 063/179] Update tests.py --- tests.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tests.py b/tests.py index 7fb97f95..206cd94a 100644 --- a/tests.py +++ b/tests.py @@ -385,11 +385,7 @@ def test_no_network(self): self.assertIsNotNone(mgr.queue) self.assertEqual(len(mgr.queue), 2) self.assertIsNotNone(mgr.data_handler) - - mgr.network_up = True - mgr.handle_cpm(now + 10, now + 20) - print(mgr.queue) - + GPIO.cleanup() del(mgr) From 5b0197a30848375f8c1f8b6c4b721f575becd180 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 10:56:37 -0700 Subject: [PATCH 064/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index f7a6d6bc..85b27e7b 100644 --- a/data_handler.py +++ b/data_handler.py @@ -70,7 +70,7 @@ def regular_send(self, cpm, cpm_err): if len(self.manager.queue) != 0: for i in self.manager.queue: trash = self.manager.queue.popleft() - self.manager.sender.send_cpm(trash[1], trash[1]) + self.manager.sender.send_cpm(trash[1], trash[2]) except socket.error: self.manager.send_to_queue(cpm, cpm_err) From 936ff1ababf718cf5e642aecc814e379dffa54b3 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 11:16:44 -0700 Subject: [PATCH 065/179] Update globalvalues.py --- globalvalues.py | 1 + 1 file changed, 1 insertion(+) diff --git a/globalvalues.py b/globalvalues.py index c1beeb8f..a2cc3676 100644 --- a/globalvalues.py +++ b/globalvalues.py @@ -25,6 +25,7 @@ DEFAULT_LOGFILE = '/home/pi/debug.log' DEFAULT_HOSTNAME = 'dosenet.dhcp.lbl.gov' DEFAULT_DATALOG = '/home/pi/data-log.txt' +DEFAULT_SEND_TO_SERVER = '/home/pi/send_to_server.txt' DEFAULT_PORT = 5005 DEFAULT_INTERVAL_NORMAL = 300 From c8f30999287f33d5fed1990ba395dd7b7f05cfc9 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 11:29:01 -0700 Subject: [PATCH 066/179] Update manager.py --- manager.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/manager.py b/manager.py index 3f31260a..01398eea 100644 --- a/manager.py +++ b/manager.py @@ -21,7 +21,7 @@ from globalvalues import DEFAULT_CONFIG, DEFAULT_PUBLICKEY, DEFAULT_LOGFILE from globalvalues import DEFAULT_HOSTNAME, DEFAULT_PORT from globalvalues import DEFAULT_INTERVAL_NORMAL, DEFAULT_INTERVAL_TEST -from globalvalues import DEFAULT_DATALOG +from globalvalues import DEFAULT_DATALOG, DEFAULT_SEND_TO_SERVER from globalvalues import ANSI_RESET, ANSI_YEL, ANSI_GR, ANSI_RED import signal @@ -363,7 +363,14 @@ def takedown(self): # power LED self.power_LED.off() GPIO.cleanup() - + + # send the rest of the queue object to DEFAULT_SEND_TO_SERVER upon shutdown + if len(self.queue) != 0: + with open(DEFAULT_SEND_TO_SERVER, 'a') as f: + for i in self.queue: + f.write('{0}'.format(self.queue.popleft())) + f.write('\n') + # self. can I even do this? del(self) From 74b1251a5b4b552d9e33737d6d440b0ee2568bd3 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 15:55:49 -0700 Subject: [PATCH 067/179] Update data_handler.py --- data_handler.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/data_handler.py b/data_handler.py index 85b27e7b..f909ef2a 100644 --- a/data_handler.py +++ b/data_handler.py @@ -67,10 +67,9 @@ def regular_send(self, cpm, cpm_err): """ try: self.manager.sender.send_cpm(cpm, cpm_err) - if len(self.manager.queue) != 0: - for i in self.manager.queue: - trash = self.manager.queue.popleft() - self.manager.sender.send_cpm(trash[1], trash[2]) + while self.manager.queue: + trash = self.manager.queue.popleft() + self.manager.sender.send_cpm(trash[1], trash[2]) except socket.error: self.manager.send_to_queue(cpm, cpm_err) From 5a2fbdb66138205a9bb05144721b35dc02f34d41 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 14 Jun 2016 16:14:21 -0700 Subject: [PATCH 068/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 01398eea..f1a11c79 100644 --- a/manager.py +++ b/manager.py @@ -367,7 +367,7 @@ def takedown(self): # send the rest of the queue object to DEFAULT_SEND_TO_SERVER upon shutdown if len(self.queue) != 0: with open(DEFAULT_SEND_TO_SERVER, 'a') as f: - for i in self.queue: + while self.queue: f.write('{0}'.format(self.queue.popleft())) f.write('\n') From 92b38283bf9a2fdaacc3ec4719a90899c1e340a6 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 09:02:13 -0700 Subject: [PATCH 069/179] Update git-pull-reboot.sh --- git-pull-reboot.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/git-pull-reboot.sh b/git-pull-reboot.sh index caea289b..39681096 100755 --- a/git-pull-reboot.sh +++ b/git-pull-reboot.sh @@ -20,10 +20,9 @@ cd $DOSENETPATH # Station-specific stuff case $ID in - "7") - # Foothill College: UDP blocked - echo "Should switch to a TCP-enabled branch here" - BRANCH=tcp-and-udp + "9999") + # template + BRANCH=master ;; *) BRANCH=master From c0c8df612c756f456e8264c7e92dffe203087d81 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 09:05:14 -0700 Subject: [PATCH 070/179] Update system-update.sh --- system-update.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system-update.sh b/system-update.sh index 72106a9e..82e17338 100755 --- a/system-update.sh +++ b/system-update.sh @@ -23,7 +23,7 @@ case $1 in ;; *) # commands for all stations besides 10005 to run - : + python /home/pi/dosenet-raspberrypi/sender.py tcp -p 5100 -n 1 ;; esac From f965457e873c74340206609b1af131a1f760853e Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 09:22:52 -0700 Subject: [PATCH 071/179] Update git-pull-reboot.sh --- git-pull-reboot.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/git-pull-reboot.sh b/git-pull-reboot.sh index 39681096..caea289b 100755 --- a/git-pull-reboot.sh +++ b/git-pull-reboot.sh @@ -20,9 +20,10 @@ cd $DOSENETPATH # Station-specific stuff case $ID in - "9999") - # template - BRANCH=master + "7") + # Foothill College: UDP blocked + echo "Should switch to a TCP-enabled branch here" + BRANCH=tcp-and-udp ;; *) BRANCH=master From 08f60590bec05e6ca5dd2c3a5a37c68d2f5ee165 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 09:23:36 -0700 Subject: [PATCH 072/179] Update system-update.sh --- system-update.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system-update.sh b/system-update.sh index 82e17338..72106a9e 100755 --- a/system-update.sh +++ b/system-update.sh @@ -23,7 +23,7 @@ case $1 in ;; *) # commands for all stations besides 10005 to run - python /home/pi/dosenet-raspberrypi/sender.py tcp -p 5100 -n 1 + : ;; esac From e38bf75f1f922e887ff904ac2963b93e8b53190a Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 11:09:13 -0700 Subject: [PATCH 073/179] Update manager.py --- manager.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/manager.py b/manager.py index 3d0fa916..9b5d11da 100644 --- a/manager.py +++ b/manager.py @@ -373,9 +373,8 @@ def takedown(self): if len(self.queue) != 0: with open(DEFAULT_SEND_TO_SERVER, 'a') as f: while self.queue: - f.write('{0}'.format(self.queue.popleft())) - f.write('\n') - + f.write('{0}, '.format(self.queue.popleft())) + # self. can I even do this? del(self) From 4d878e8a1e33154bb1badd776f6009aa52084dfb Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 11:35:51 -0700 Subject: [PATCH 074/179] added flush_send_to_server --- manager.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 9b5d11da..9692bbf6 100644 --- a/manager.py +++ b/manager.py @@ -29,7 +29,7 @@ import sys import csv - +import ast from collections import deque import socket @@ -130,6 +130,24 @@ def __init__(self, verbosity=self.v, logfile=self.logfile) + self.flush_send_to_server() + + def flush_send_to_server(self, path=DEFAULT_SEND_TO_SERVER): + """ + Sends the cpm data from DEFAULT_SEND_TO_SERVER if network is up. + + Also deletes the file. + """ + if os.path.isfile(path) and self.network_up: + with open(path, 'r') as f: + data =f.read() + data = ast.literal_eval(data) + for i in data: + self.sender.send_cpm(i[1], i[2]) + os.remove(path) + else: + pass + def a_flag(self): """ Checks if the -a from_argparse is called. From e43e75e7c6a679d49c290660b1c4f9cb824577ad Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 11:38:03 -0700 Subject: [PATCH 075/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 9692bbf6..84e80c9d 100644 --- a/manager.py +++ b/manager.py @@ -140,7 +140,7 @@ def flush_send_to_server(self, path=DEFAULT_SEND_TO_SERVER): """ if os.path.isfile(path) and self.network_up: with open(path, 'r') as f: - data =f.read() + data = f.read() data = ast.literal_eval(data) for i in data: self.sender.send_cpm(i[1], i[2]) From e5fe9cdf29bad3f29da2def5c572457c4a9b9d8b Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 11:39:56 -0700 Subject: [PATCH 076/179] Update manager.py --- manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/manager.py b/manager.py index 84e80c9d..25b34511 100644 --- a/manager.py +++ b/manager.py @@ -31,6 +31,7 @@ import csv import ast from collections import deque +import os import socket From 3e2c98bf59d82c521229b9bdd632517855f2f7e1 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 12:07:12 -0700 Subject: [PATCH 077/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 25b34511..fe5e6891 100644 --- a/manager.py +++ b/manager.py @@ -36,7 +36,7 @@ import socket def signal_term_handler(signal, frame): - print('got SIGTERM') + # print('got SIGTERM') # If SIGTERM signal is intercepted, the SystemExit exception routines are ran sys.exit(0) From 6d4c1156f9e94b2c9ce5555a870993c7ce0d3546 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 12:11:23 -0700 Subject: [PATCH 078/179] Update data_handler.py --- data_handler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/data_handler.py b/data_handler.py index f909ef2a..0ed5fe2d 100644 --- a/data_handler.py +++ b/data_handler.py @@ -34,6 +34,7 @@ def __init__(self, set_verbosity(self, logfile=logfile) self.manager = manager + def test_send(self, cpm, cpm_err): """ Test Mode From 16411a1b98b82049d535810dda26c230ed19f99d Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 12:20:40 -0700 Subject: [PATCH 079/179] Update manager.py --- manager.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/manager.py b/manager.py index fe5e6891..5f94a812 100644 --- a/manager.py +++ b/manager.py @@ -42,16 +42,6 @@ def signal_term_handler(signal, frame): signal.signal(signal.SIGTERM, signal_term_handler) -# this is hacky, but, the {{}} get converted to {} in the first .format() call -# and then get filled in later -CPM_DISPLAY_TEXT = ( - '{{time}}: {yellow} {{counts}} cts{reset}' + - ' --- {green}{{cpm:.2f}} +/- {{cpm_err:.2f}} cpm{reset}' + - ' ({{start_time}} to {{end_time}})').format( - yellow=ANSI_YEL, reset=ANSI_RESET, green=ANSI_GR) -strf = '%H:%M:%S' - - class Manager(object): """ Master object for dosimeter operation. From 9ef86bf76dc0f65312c855983889147e5c556ed1 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 12:24:28 -0700 Subject: [PATCH 080/179] Update globalvalues.py --- globalvalues.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/globalvalues.py b/globalvalues.py index 221dc9c6..8558861f 100644 --- a/globalvalues.py +++ b/globalvalues.py @@ -28,7 +28,7 @@ DEFAULT_TCP_PORT = 5100 DEFAULT_SENDER_MODE = 'udp' DEFAULT_DATALOG = '/home/pi/data-log.txt' -DEFAULT_SEND_TO_SERVER = '/home/pi/send_to_server.txt' +DEFAULT_DATA_BACKLOG_FILE = '/home/pi/data_backlog_file.txt' DEFAULT_INTERVAL_NORMAL = 300 DEFAULT_INTERVAL_TEST = 30 From ee05437ba3fecbff0eff9fa93b3952ee01e72cf4 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 12:26:19 -0700 Subject: [PATCH 081/179] Update manager.py --- manager.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/manager.py b/manager.py index 5f94a812..75ed0f52 100644 --- a/manager.py +++ b/manager.py @@ -22,7 +22,7 @@ from globalvalues import DEFAULT_HOSTNAME, DEFAULT_UDP_PORT, DEFAULT_TCP_PORT from globalvalues import DEFAULT_SENDER_MODE from globalvalues import DEFAULT_INTERVAL_NORMAL, DEFAULT_INTERVAL_TEST -from globalvalues import DEFAULT_DATALOG, DEFAULT_SEND_TO_SERVER +from globalvalues import DEFAULT_DATALOG, DEFAULT_DATA_BACKLOG_FILE from globalvalues import ANSI_RESET, ANSI_YEL, ANSI_GR, ANSI_RED import signal @@ -123,9 +123,9 @@ def __init__(self, self.flush_send_to_server() - def flush_send_to_server(self, path=DEFAULT_SEND_TO_SERVER): + def flush_send_to_server(self, path=DEFAULT_DATA_BACKLOG_FILE): """ - Sends the cpm data from DEFAULT_SEND_TO_SERVER if network is up. + Sends the cpm data from DEFAULT_DATA_BACKLOG_FILE if network is up. Also deletes the file. """ @@ -378,9 +378,9 @@ def takedown(self): self.power_LED.off() GPIO.cleanup() - # send the rest of the queue object to DEFAULT_SEND_TO_SERVER upon shutdown + # send the rest of the queue object to DEFAULT_DATA_BACKLOG_FILE upon shutdown if len(self.queue) != 0: - with open(DEFAULT_SEND_TO_SERVER, 'a') as f: + with open(DEFAULT_DATA_BACKLOG_FILE, 'a') as f: while self.queue: f.write('{0}, '.format(self.queue.popleft())) From 9acba50999ff6af4f00124f56a916b11f069a09f Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 17:08:12 -0700 Subject: [PATCH 082/179] Update data_handler.py --- data_handler.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index 0ed5fe2d..9edf2fe9 100644 --- a/data_handler.py +++ b/data_handler.py @@ -34,7 +34,9 @@ def __init__(self, set_verbosity(self, logfile=logfile) self.manager = manager - + + self.queue = deque('') + def test_send(self, cpm, cpm_err): """ Test Mode From 897a53c1ae5661e4d9d78634559290f788f7008f Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 17:12:43 -0700 Subject: [PATCH 083/179] Update manager.py --- manager.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/manager.py b/manager.py index 75ed0f52..c247a428 100644 --- a/manager.py +++ b/manager.py @@ -76,8 +76,6 @@ def __init__(self, datalogflag=False, ): - self.queue = deque('') - self.datalog = datalog self.datalogflag = datalogflag @@ -352,8 +350,8 @@ def send_to_queue(self, cpm, cpm_err): Adds the time, cpm, and cpm_err to the deque object. """ time_string = time.strftime("%Y-%m-%d %H:%M:%S") - self.queue.append([time_string, cpm, cpm_err]) - print(self.queue) + self.data_handler.queue.append([time_string, cpm, cpm_err]) + print(self.data_handler.queue) def handle_cpm(self, this_start, this_end): """ @@ -379,10 +377,10 @@ def takedown(self): GPIO.cleanup() # send the rest of the queue object to DEFAULT_DATA_BACKLOG_FILE upon shutdown - if len(self.queue) != 0: + if self.data_handler.queue: with open(DEFAULT_DATA_BACKLOG_FILE, 'a') as f: - while self.queue: - f.write('{0}, '.format(self.queue.popleft())) + while self.data_handler.queue: + f.write('{0}, '.format(self.data_handler.queue.popleft())) # self. can I even do this? del(self) From acd386a35cb1b491b7c665160722c241de24c56a Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 16 Jun 2016 17:18:59 -0700 Subject: [PATCH 084/179] Update tests.py --- tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests.py b/tests.py index ba5e4c3f..f402d34e 100644 --- a/tests.py +++ b/tests.py @@ -405,8 +405,8 @@ def test_no_network(self): [mgr.sensor.count() for _ in xrange(2)] mgr.handle_cpm(now, now + 10) - self.assertIsNotNone(mgr.queue) - self.assertEqual(len(mgr.queue), 2) + self.assertIsNotNone(mgr.data_handler.queue) + self.assertEqual(len(mgr.data_handler.queue), 2) self.assertIsNotNone(mgr.data_handler) GPIO.cleanup() From f3c5b4a440ad57a24e1b1b5b5a70f5b8e188e563 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 17 Jun 2016 09:30:03 -0700 Subject: [PATCH 085/179] Update dosenet.sh --- dosenet.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dosenet.sh b/dosenet.sh index 7b8cf446..18646c7d 100755 --- a/dosenet.sh +++ b/dosenet.sh @@ -22,6 +22,7 @@ PUBLICKEY=$CONFIGDIR/id_rsa_lbl.pub case "$1" in start) + ntp-wait logger --stderr --id --tag $LOGTAG "Starting DoseNet script" # -dm runs screen in background. doesn't work without it on Raspbian Jesse. sudo screen -dm python $DOSENET/manager.py From 2fd8430b7e9b4537d2575098dcffa94b8e00aab4 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 17 Jun 2016 09:48:37 -0700 Subject: [PATCH 086/179] Update dosenet.sh --- dosenet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dosenet.sh b/dosenet.sh index 18646c7d..f8199f49 100755 --- a/dosenet.sh +++ b/dosenet.sh @@ -22,8 +22,8 @@ PUBLICKEY=$CONFIGDIR/id_rsa_lbl.pub case "$1" in start) - ntp-wait logger --stderr --id --tag $LOGTAG "Starting DoseNet script" + ntp-wait # -dm runs screen in background. doesn't work without it on Raspbian Jesse. sudo screen -dm python $DOSENET/manager.py ;; From 5a3b60c37e03c9716379333f66b6abbe49e39249 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 17 Jun 2016 10:12:58 -0700 Subject: [PATCH 087/179] Update dosenet.sh --- dosenet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dosenet.sh b/dosenet.sh index f8199f49..8049a2e5 100755 --- a/dosenet.sh +++ b/dosenet.sh @@ -23,7 +23,7 @@ PUBLICKEY=$CONFIGDIR/id_rsa_lbl.pub case "$1" in start) logger --stderr --id --tag $LOGTAG "Starting DoseNet script" - ntp-wait + ntp-wait -n 3 -s 30 # -dm runs screen in background. doesn't work without it on Raspbian Jesse. sudo screen -dm python $DOSENET/manager.py ;; From b3c0343e350e26572a4eedd22cfa3dc310a82d31 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 17 Jun 2016 10:43:03 -0700 Subject: [PATCH 088/179] Update auxiliaries.py --- auxiliaries.py | 1 + 1 file changed, 1 insertion(+) diff --git a/auxiliaries.py b/auxiliaries.py index 4a4875df..8592232a 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -7,6 +7,7 @@ from time import sleep import os import traceback +import subprocess from globalvalues import RPI if RPI: From bbaf269ce9c85f4ad42c6b6f4548d4fd978759bd Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 17 Jun 2016 10:44:27 -0700 Subject: [PATCH 089/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index 9edf2fe9..b3782011 100644 --- a/data_handler.py +++ b/data_handler.py @@ -71,7 +71,7 @@ def regular_send(self, cpm, cpm_err): try: self.manager.sender.send_cpm(cpm, cpm_err) while self.manager.queue: - trash = self.manager.queue.popleft() + trash = self.queue.popleft() self.manager.sender.send_cpm(trash[1], trash[2]) except socket.error: self.manager.send_to_queue(cpm, cpm_err) From 90c183c1c7c15a30cdeee5a9a009e3b10503ae6e Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 17 Jun 2016 10:54:48 -0700 Subject: [PATCH 090/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index b3782011..eda51899 100644 --- a/data_handler.py +++ b/data_handler.py @@ -70,7 +70,7 @@ def regular_send(self, cpm, cpm_err): """ try: self.manager.sender.send_cpm(cpm, cpm_err) - while self.manager.queue: + while self.queue: trash = self.queue.popleft() self.manager.sender.send_cpm(trash[1], trash[2]) except socket.error: From 43c729ce307ee6f870640f19663e4ee3bf160d55 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 17 Jun 2016 11:40:00 -0700 Subject: [PATCH 091/179] added functionality to reset network --- auxiliaries.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/auxiliaries.py b/auxiliaries.py index 8592232a..b981258a 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -215,7 +215,8 @@ def __init__(self, self.down_interval_s = down_interval_s self.led = network_led self.blink_period_s = 1.5 - + self.last_up_time = None + self.logfile = logfile self.v = verbosity set_verbosity(self, logfile=logfile) @@ -252,12 +253,14 @@ def update(self, up_state=None): up_state is the shared memory object for the pinging process. If calling update() manually, leave it as None (default). """ - + self.last_up_time = time.time() + if up_state is None: up_state = self.up_state response = self._ping() if response == 0: + self.last_up_time = None up_state.value = 'U' if self.led: if self.led.blinker: @@ -266,10 +269,15 @@ def update(self, up_state=None): self.vprint(2, ' {} is UP'.format(self.hostname)) else: up_state.value = 'D' + self.last_up_time = time.time() - self.last_up_time if self.led: self.led.start_blink(interval=self.blink_period_s) + if self.last_up_time >= 1800 and self.last_up_time < 3600: + subprocess.call("sudo ifdown wlan1") + if self.last_up_time > 3600: + subprocess.call("sudo ifup wlan1") self.vprint(1, ' {} is DOWN!'.format(self.hostname)) - + def _do_pings(self, up_state): """Runs forever - only call as a subprocess""" try: From c8a3f0094cd032a4d874557d019b877d7a42b83d Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 17 Jun 2016 11:45:31 -0700 Subject: [PATCH 092/179] Update auxiliaries.py --- auxiliaries.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/auxiliaries.py b/auxiliaries.py index b981258a..69569435 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -272,9 +272,9 @@ def update(self, up_state=None): self.last_up_time = time.time() - self.last_up_time if self.led: self.led.start_blink(interval=self.blink_period_s) - if self.last_up_time >= 1800 and self.last_up_time < 3600: + if self.last_up_time >= 30 and self.last_up_time < 60: subprocess.call("sudo ifdown wlan1") - if self.last_up_time > 3600: + if self.last_up_time > 60: subprocess.call("sudo ifup wlan1") self.vprint(1, ' {} is DOWN!'.format(self.hostname)) From fea6ca2f4e3ef08bc5c7c7b43530ca43cfc384a5 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 17 Jun 2016 11:52:23 -0700 Subject: [PATCH 093/179] Update auxiliaries.py --- auxiliaries.py | 1 + 1 file changed, 1 insertion(+) diff --git a/auxiliaries.py b/auxiliaries.py index 69569435..143f0716 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -8,6 +8,7 @@ import os import traceback import subprocess +import time from globalvalues import RPI if RPI: From 81949bb9ef2aac2d027f13b9f65d3878e0fd2f61 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 17 Jun 2016 12:05:35 -0700 Subject: [PATCH 094/179] Update auxiliaries.py --- auxiliaries.py | 1 + 1 file changed, 1 insertion(+) diff --git a/auxiliaries.py b/auxiliaries.py index 143f0716..aa42fd69 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -271,6 +271,7 @@ def update(self, up_state=None): else: up_state.value = 'D' self.last_up_time = time.time() - self.last_up_time + self.vprint(1, ' {} down'.format(self.last_up_time)) if self.led: self.led.start_blink(interval=self.blink_period_s) if self.last_up_time >= 30 and self.last_up_time < 60: From 690c34120ea252b0e3fb5ae74d7594b44244140e Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 17 Jun 2016 12:26:37 -0700 Subject: [PATCH 095/179] Update auxiliaries.py --- auxiliaries.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/auxiliaries.py b/auxiliaries.py index aa42fd69..825f3c0b 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -217,6 +217,7 @@ def __init__(self, self.led = network_led self.blink_period_s = 1.5 self.last_up_time = None + self.last_up_time_update = None self.logfile = logfile self.v = verbosity @@ -254,7 +255,8 @@ def update(self, up_state=None): up_state is the shared memory object for the pinging process. If calling update() manually, leave it as None (default). """ - self.last_up_time = time.time() + if not self.last_up_time: + self.last_up_time = time.time() if up_state is None: up_state = self.up_state @@ -262,6 +264,7 @@ def update(self, up_state=None): response = self._ping() if response == 0: self.last_up_time = None + self.last_up_time_update = None up_state.value = 'U' if self.led: if self.led.blinker: @@ -270,13 +273,13 @@ def update(self, up_state=None): self.vprint(2, ' {} is UP'.format(self.hostname)) else: up_state.value = 'D' - self.last_up_time = time.time() - self.last_up_time - self.vprint(1, ' {} down'.format(self.last_up_time)) + self.last_up_time_update = time.time() - self.last_up_time + self.vprint(1, ' {} down'.format(self.last_up_time_update)) if self.led: self.led.start_blink(interval=self.blink_period_s) - if self.last_up_time >= 30 and self.last_up_time < 60: + if self.last_up_time_update >= 30 and self.last_up_time_update < 60: subprocess.call("sudo ifdown wlan1") - if self.last_up_time > 60: + if self.last_up_time_update > 60: subprocess.call("sudo ifup wlan1") self.vprint(1, ' {} is DOWN!'.format(self.hostname)) From 41eb89e7e86de53cfca69b440f586f6c635a4926 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 20 Jun 2016 09:26:34 -0700 Subject: [PATCH 096/179] Update auxiliaries.py --- auxiliaries.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/auxiliaries.py b/auxiliaries.py index 825f3c0b..a571a608 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -278,9 +278,9 @@ def update(self, up_state=None): if self.led: self.led.start_blink(interval=self.blink_period_s) if self.last_up_time_update >= 30 and self.last_up_time_update < 60: - subprocess.call("sudo ifdown wlan1") - if self.last_up_time_update > 60: subprocess.call("sudo ifup wlan1") + #if self.last_up_time_update > 60: + #subprocess.call("sudo ifup wlan1") self.vprint(1, ' {} is DOWN!'.format(self.hostname)) def _do_pings(self, up_state): From a9bdeaee1118fb0b202379037c2764e46ea0f944 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 20 Jun 2016 09:46:34 -0700 Subject: [PATCH 097/179] Update auxiliaries.py --- auxiliaries.py | 1 + 1 file changed, 1 insertion(+) diff --git a/auxiliaries.py b/auxiliaries.py index a571a608..c7203358 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -278,6 +278,7 @@ def update(self, up_state=None): if self.led: self.led.start_blink(interval=self.blink_period_s) if self.last_up_time_update >= 30 and self.last_up_time_update < 60: + print('Making network go back up') subprocess.call("sudo ifup wlan1") #if self.last_up_time_update > 60: #subprocess.call("sudo ifup wlan1") From ab7d4cd22f2f252ddff89ba6c0238e92221abfa6 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 20 Jun 2016 10:05:45 -0700 Subject: [PATCH 098/179] Update auxiliaries.py --- auxiliaries.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auxiliaries.py b/auxiliaries.py index c7203358..4831d9fe 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -279,7 +279,7 @@ def update(self, up_state=None): self.led.start_blink(interval=self.blink_period_s) if self.last_up_time_update >= 30 and self.last_up_time_update < 60: print('Making network go back up') - subprocess.call("sudo ifup wlan1") + os.system("sudo ifup wlan1") #if self.last_up_time_update > 60: #subprocess.call("sudo ifup wlan1") self.vprint(1, ' {} is DOWN!'.format(self.hostname)) From 1803be8f7c1de0f74b51d4b171d898f12ada0c06 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 20 Jun 2016 10:29:32 -0700 Subject: [PATCH 099/179] Update auxiliaries.py --- auxiliaries.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/auxiliaries.py b/auxiliaries.py index 4831d9fe..106775f6 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -255,16 +255,15 @@ def update(self, up_state=None): up_state is the shared memory object for the pinging process. If calling update() manually, leave it as None (default). """ - if not self.last_up_time: - self.last_up_time = time.time() + #if not self.last_up_time: + #self.last_up_time = time.time() if up_state is None: up_state = self.up_state response = self._ping() if response == 0: - self.last_up_time = None - self.last_up_time_update = None + self.last_up_time = time.time() up_state.value = 'U' if self.led: if self.led.blinker: @@ -273,11 +272,11 @@ def update(self, up_state=None): self.vprint(2, ' {} is UP'.format(self.hostname)) else: up_state.value = 'D' - self.last_up_time_update = time.time() - self.last_up_time - self.vprint(1, ' {} down'.format(self.last_up_time_update)) + #self.last_up_time_update = time.time() - self.last_up_time + self.vprint(1, ' {} down'.format(time.time() - self.last_up_time)) if self.led: self.led.start_blink(interval=self.blink_period_s) - if self.last_up_time_update >= 30 and self.last_up_time_update < 60: + if time.time() - self.last_up_time >= 30 and time.time() - self.last_up_time < 60: print('Making network go back up') os.system("sudo ifup wlan1") #if self.last_up_time_update > 60: From f0c5adb172fd75d48b7f44f7ce3ef840127bb525 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 20 Jun 2016 10:32:48 -0700 Subject: [PATCH 100/179] Update auxiliaries.py --- auxiliaries.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/auxiliaries.py b/auxiliaries.py index 106775f6..61f2ddf6 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -255,8 +255,8 @@ def update(self, up_state=None): up_state is the shared memory object for the pinging process. If calling update() manually, leave it as None (default). """ - #if not self.last_up_time: - #self.last_up_time = time.time() + if not self.last_up_time: + self.last_up_time = time.time() if up_state is None: up_state = self.up_state From 2420b273165da404042ed2a5b6d06ad7e35a201c Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 20 Jun 2016 10:41:25 -0700 Subject: [PATCH 101/179] Update auxiliaries.py --- auxiliaries.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/auxiliaries.py b/auxiliaries.py index 61f2ddf6..ff33f8bf 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -217,7 +217,6 @@ def __init__(self, self.led = network_led self.blink_period_s = 1.5 self.last_up_time = None - self.last_up_time_update = None self.logfile = logfile self.v = verbosity @@ -272,16 +271,16 @@ def update(self, up_state=None): self.vprint(2, ' {} is UP'.format(self.hostname)) else: up_state.value = 'D' - #self.last_up_time_update = time.time() - self.last_up_time - self.vprint(1, ' {} down'.format(time.time() - self.last_up_time)) + self.vprint(1, ' {} is DOWN!'.format(self.hostname)) + self.vprint(1, 'Network down for {} seconds'.format(time.time() - self.last_up_time)) if self.led: self.led.start_blink(interval=self.blink_period_s) - if time.time() - self.last_up_time >= 30 and time.time() - self.last_up_time < 60: - print('Making network go back up') + if time.time() - self.last_up_time >= 30: + self.vprint(1, 'Making network go back up') + os.system("sudo ifdown wlan1") os.system("sudo ifup wlan1") - #if self.last_up_time_update > 60: - #subprocess.call("sudo ifup wlan1") - self.vprint(1, ' {} is DOWN!'.format(self.hostname)) + self.last_up_time = time.time() + #self.vprint(1, ' {} is DOWN!'.format(self.hostname)) def _do_pings(self, up_state): """Runs forever - only call as a subprocess""" From 61661a65d7f962820420cd10575abcc9d45c2b70 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 20 Jun 2016 10:47:40 -0700 Subject: [PATCH 102/179] Update auxiliaries.py --- auxiliaries.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/auxiliaries.py b/auxiliaries.py index ff33f8bf..4151ce38 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -7,7 +7,6 @@ from time import sleep import os import traceback -import subprocess import time from globalvalues import RPI @@ -275,12 +274,11 @@ def update(self, up_state=None): self.vprint(1, 'Network down for {} seconds'.format(time.time() - self.last_up_time)) if self.led: self.led.start_blink(interval=self.blink_period_s) - if time.time() - self.last_up_time >= 30: + if time.time() - self.last_up_time >= 1800: self.vprint(1, 'Making network go back up') os.system("sudo ifdown wlan1") os.system("sudo ifup wlan1") self.last_up_time = time.time() - #self.vprint(1, ' {} is DOWN!'.format(self.hostname)) def _do_pings(self, up_state): """Runs forever - only call as a subprocess""" From 7db866fc2c33f2f59e2d0958b5a1677728e09b90 Mon Sep 17 00:00:00 2001 From: tybtab Date: Mon, 20 Jun 2016 11:27:24 -0700 Subject: [PATCH 103/179] Update manager.py --- manager.py | 1 - 1 file changed, 1 deletion(-) diff --git a/manager.py b/manager.py index c247a428..29cf7171 100644 --- a/manager.py +++ b/manager.py @@ -36,7 +36,6 @@ import socket def signal_term_handler(signal, frame): - # print('got SIGTERM') # If SIGTERM signal is intercepted, the SystemExit exception routines are ran sys.exit(0) From 04a22b8f205b903e12055b420eaf2f6f9cb14560 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 09:20:01 -0700 Subject: [PATCH 104/179] Update auxiliaries.py --- auxiliaries.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/auxiliaries.py b/auxiliaries.py index 4151ce38..25cb39a1 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -215,7 +215,7 @@ def __init__(self, self.down_interval_s = down_interval_s self.led = network_led self.blink_period_s = 1.5 - self.last_up_time = None + self.last_try_time = None self.logfile = logfile self.v = verbosity @@ -253,15 +253,15 @@ def update(self, up_state=None): up_state is the shared memory object for the pinging process. If calling update() manually, leave it as None (default). """ - if not self.last_up_time: - self.last_up_time = time.time() + #if not self.last_try_time: + #self.last_try_time = time.time() if up_state is None: up_state = self.up_state response = self._ping() if response == 0: - self.last_up_time = time.time() + self.last_try_time = time.time() up_state.value = 'U' if self.led: if self.led.blinker: @@ -271,14 +271,14 @@ def update(self, up_state=None): else: up_state.value = 'D' self.vprint(1, ' {} is DOWN!'.format(self.hostname)) - self.vprint(1, 'Network down for {} seconds'.format(time.time() - self.last_up_time)) + self.vprint(1, 'Network down for {} seconds'.format(time.time() - self.last_try_time)) if self.led: self.led.start_blink(interval=self.blink_period_s) - if time.time() - self.last_up_time >= 1800: + if time.time() - self.last_try_time >= 30: self.vprint(1, 'Making network go back up') os.system("sudo ifdown wlan1") os.system("sudo ifup wlan1") - self.last_up_time = time.time() + self.last_try_time = time.time() def _do_pings(self, up_state): """Runs forever - only call as a subprocess""" From b7ffa4c772a313688f26c50d2b52fe98bb3427e9 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 09:29:03 -0700 Subject: [PATCH 105/179] Update auxiliaries.py --- auxiliaries.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/auxiliaries.py b/auxiliaries.py index 25cb39a1..2fa25028 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -253,8 +253,8 @@ def update(self, up_state=None): up_state is the shared memory object for the pinging process. If calling update() manually, leave it as None (default). """ - #if not self.last_try_time: - #self.last_try_time = time.time() + if not self.last_try_time: + self.last_try_time = time.time() if up_state is None: up_state = self.up_state From c80e6cc87c6704431367dc3eccc6c1895ea21723 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 09:43:12 -0700 Subject: [PATCH 106/179] Update data_handler.py --- data_handler.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/data_handler.py b/data_handler.py index eda51899..dcc7407f 100644 --- a/data_handler.py +++ b/data_handler.py @@ -23,9 +23,10 @@ class Data_Handler(object): """ def __init__(self, - manager=None, + manager=None, verbosity=1, - logfile=None): + logfile=None + ): self.v = verbosity if manager and logfile is None: From 72b3efd7f158992b394acaec53234b561c8b6eb4 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 09:53:08 -0700 Subject: [PATCH 107/179] Update manager.py --- manager.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/manager.py b/manager.py index 29cf7171..fde23344 100644 --- a/manager.py +++ b/manager.py @@ -376,11 +376,8 @@ def takedown(self): GPIO.cleanup() # send the rest of the queue object to DEFAULT_DATA_BACKLOG_FILE upon shutdown - if self.data_handler.queue: - with open(DEFAULT_DATA_BACKLOG_FILE, 'a') as f: - while self.data_handler.queue: - f.write('{0}, '.format(self.data_handler.queue.popleft())) - + self.data_handler.send_all_to_backlog() + # self. can I even do this? del(self) From a158aaf85be9ea0187af7f5bbd210bf896b0381c Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 09:53:19 -0700 Subject: [PATCH 108/179] Update data_handler.py --- data_handler.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/data_handler.py b/data_handler.py index dcc7407f..b6801ea5 100644 --- a/data_handler.py +++ b/data_handler.py @@ -3,6 +3,7 @@ from sensor import Sensor from auxiliaries import set_verbosity from globalvalues import ANSI_RESET, ANSI_YEL, ANSI_GR, ANSI_RED +from globalvalues import DEFAULT_DATA_BACKLOG_FILE from collections import deque import socket import time @@ -77,6 +78,12 @@ def regular_send(self, cpm, cpm_err): except socket.error: self.manager.send_to_queue(cpm, cpm_err) + def send_all_to_backlog(self, path=DEFAULT_DATA_BACKLOG_FILE): + if self.queue: + with open(path, 'a') as f: + while self.queue: + f.write('{0}, '.format(self.queue.popleft())) + def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): """ Determines how to handle the cpm data. From 33ae72d3e5737ff4ea772ef4a036b7f6e5dd4c49 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 10:15:16 -0700 Subject: [PATCH 109/179] Update manager.py --- manager.py | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/manager.py b/manager.py index fde23344..609dc337 100644 --- a/manager.py +++ b/manager.py @@ -118,23 +118,7 @@ def __init__(self, verbosity=self.v, logfile=self.logfile) - self.flush_send_to_server() - - def flush_send_to_server(self, path=DEFAULT_DATA_BACKLOG_FILE): - """ - Sends the cpm data from DEFAULT_DATA_BACKLOG_FILE if network is up. - - Also deletes the file. - """ - if os.path.isfile(path) and self.network_up: - with open(path, 'r') as f: - data = f.read() - data = ast.literal_eval(data) - for i in data: - self.sender.send_cpm(i[1], i[2]) - os.remove(path) - else: - pass + self.data_handler.flush_send_to_server() def a_flag(self): """ From 60ea5bbfcd095026f8993ac0de986fc77d609b94 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 10:15:30 -0700 Subject: [PATCH 110/179] Update data_handler.py --- data_handler.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/data_handler.py b/data_handler.py index b6801ea5..08a774f1 100644 --- a/data_handler.py +++ b/data_handler.py @@ -7,6 +7,8 @@ from collections import deque import socket import time +import ast +import os CPM_DISPLAY_TEXT = ( '{{time}}: {yellow} {{counts}} cts{reset}' + @@ -84,6 +86,22 @@ def send_all_to_backlog(self, path=DEFAULT_DATA_BACKLOG_FILE): while self.queue: f.write('{0}, '.format(self.queue.popleft())) + def flush_send_to_server(self, path=DEFAULT_DATA_BACKLOG_FILE): + """ + Sends the cpm data from DEFAULT_DATA_BACKLOG_FILE if network is up. + + Also deletes the file. + """ + if os.path.isfile(path) and manager.network_up: + with open(path, 'r') as f: + data = f.read() + data = ast.literal_eval(data) + for i in data: + manager.sender.send_cpm(i[1], i[2]) + os.remove(path) + else: + pass + def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): """ Determines how to handle the cpm data. From b9a2f0b9bace2bc0fd58790c46dc53b7d337bdd3 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 10:19:22 -0700 Subject: [PATCH 111/179] Update data_handler.py --- data_handler.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/data_handler.py b/data_handler.py index 08a774f1..979b8bee 100644 --- a/data_handler.py +++ b/data_handler.py @@ -66,7 +66,7 @@ def no_network_send(self, cpm, cpm_err): Network is not up """ self.vprint(1, "Network down, not sending to server") - self.manager.send_to_queue(cpm, cpm_err) + self.send_to_queue(cpm, cpm_err) def regular_send(self, cpm, cpm_err): """ @@ -78,7 +78,7 @@ def regular_send(self, cpm, cpm_err): trash = self.queue.popleft() self.manager.sender.send_cpm(trash[1], trash[2]) except socket.error: - self.manager.send_to_queue(cpm, cpm_err) + self.send_to_queue(cpm, cpm_err) def send_all_to_backlog(self, path=DEFAULT_DATA_BACKLOG_FILE): if self.queue: @@ -102,6 +102,14 @@ def flush_send_to_server(self, path=DEFAULT_DATA_BACKLOG_FILE): else: pass + def send_to_queue(self, cpm, cpm_err): + """ + Adds the time, cpm, and cpm_err to the deque object. + """ + time_string = time.strftime("%Y-%m-%d %H:%M:%S") + self.queue.append([time_string, cpm, cpm_err]) + print(self.queue) + def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): """ Determines how to handle the cpm data. From 5262fe0df63a19c530a6ab3a37f0551e6aa3dc13 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 10:20:02 -0700 Subject: [PATCH 112/179] Update manager.py --- manager.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/manager.py b/manager.py index 609dc337..64641372 100644 --- a/manager.py +++ b/manager.py @@ -327,14 +327,6 @@ def data_log(self, file, cpm, cpm_err): f.write('{0}, {1}, {2}'.format(time_string, cpm, cpm_err)) f.write('\n') self.vprint(2, 'Writing CPM to data log at {}'.format(file)) - - def send_to_queue(self, cpm, cpm_err): - """ - Adds the time, cpm, and cpm_err to the deque object. - """ - time_string = time.strftime("%Y-%m-%d %H:%M:%S") - self.data_handler.queue.append([time_string, cpm, cpm_err]) - print(self.data_handler.queue) def handle_cpm(self, this_start, this_end): """ From 5d697c73096cd2ea881462c507d7f5396b0b3dba Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 10:22:57 -0700 Subject: [PATCH 113/179] Update auxiliaries.py --- auxiliaries.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auxiliaries.py b/auxiliaries.py index 2fa25028..c4a9ea00 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -274,7 +274,7 @@ def update(self, up_state=None): self.vprint(1, 'Network down for {} seconds'.format(time.time() - self.last_try_time)) if self.led: self.led.start_blink(interval=self.blink_period_s) - if time.time() - self.last_try_time >= 30: + if time.time() - self.last_try_time >= 400: self.vprint(1, 'Making network go back up') os.system("sudo ifdown wlan1") os.system("sudo ifup wlan1") From e1dadbceffb5f973e7a259a4be4efc86862dee2d Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 10:33:28 -0700 Subject: [PATCH 114/179] Update data_handler.py --- data_handler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data_handler.py b/data_handler.py index 979b8bee..2ea092db 100644 --- a/data_handler.py +++ b/data_handler.py @@ -92,12 +92,12 @@ def flush_send_to_server(self, path=DEFAULT_DATA_BACKLOG_FILE): Also deletes the file. """ - if os.path.isfile(path) and manager.network_up: + if os.path.isfile(path) and self.manager.network_up: with open(path, 'r') as f: data = f.read() data = ast.literal_eval(data) for i in data: - manager.sender.send_cpm(i[1], i[2]) + self.manager.sender.send_cpm(i[1], i[2]) os.remove(path) else: pass From d4dbd0ffac832c316c764dd93c9557454b1cfe4e Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 10:45:55 -0700 Subject: [PATCH 115/179] Update data_handler.py --- data_handler.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/data_handler.py b/data_handler.py index 2ea092db..5bf3840a 100644 --- a/data_handler.py +++ b/data_handler.py @@ -99,9 +99,7 @@ def flush_send_to_server(self, path=DEFAULT_DATA_BACKLOG_FILE): for i in data: self.manager.sender.send_cpm(i[1], i[2]) os.remove(path) - else: - pass - + def send_to_queue(self, cpm, cpm_err): """ Adds the time, cpm, and cpm_err to the deque object. From 076372bb8b02cc78b11db4b924839078b88be0f1 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 10:56:04 -0700 Subject: [PATCH 116/179] Update data_handler.py --- data_handler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/data_handler.py b/data_handler.py index 5bf3840a..2cec6767 100644 --- a/data_handler.py +++ b/data_handler.py @@ -135,6 +135,7 @@ def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): elif not self.manager.network_up: self.no_network_send(cpm, cpm_err) else: + self.flush_send_to_server() self.regular_send(cpm, cpm_err) From 3c2b5a375879bbbb8a97e968ecc8ecec972561d3 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 10:56:24 -0700 Subject: [PATCH 117/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 64641372..79ce62fe 100644 --- a/manager.py +++ b/manager.py @@ -118,7 +118,7 @@ def __init__(self, verbosity=self.v, logfile=self.logfile) - self.data_handler.flush_send_to_server() + #self.data_handler.flush_send_to_server() def a_flag(self): """ From 8ae7fa48f5feaf4fd500eaffd21acd5500ff2a05 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 11:10:43 -0700 Subject: [PATCH 118/179] Update manager.py --- manager.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/manager.py b/manager.py index 79ce62fe..e25d2b77 100644 --- a/manager.py +++ b/manager.py @@ -117,8 +117,6 @@ def __init__(self, manager=self, verbosity=self.v, logfile=self.logfile) - - #self.data_handler.flush_send_to_server() def a_flag(self): """ From e3b33d7ee3eecad3cc05e5902cf54eab645e8b3b Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 11:31:06 -0700 Subject: [PATCH 119/179] Update globalvalues.py --- globalvalues.py | 1 + 1 file changed, 1 insertion(+) diff --git a/globalvalues.py b/globalvalues.py index 8558861f..c103801c 100644 --- a/globalvalues.py +++ b/globalvalues.py @@ -29,6 +29,7 @@ DEFAULT_SENDER_MODE = 'udp' DEFAULT_DATALOG = '/home/pi/data-log.txt' DEFAULT_DATA_BACKLOG_FILE = '/home/pi/data_backlog_file.txt' +DEFAULT_PROTOCAL = None DEFAULT_INTERVAL_NORMAL = 300 DEFAULT_INTERVAL_TEST = 30 From ee5d953e659f9d5325a8e92d60aafae6f28cfdc4 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 11:31:53 -0700 Subject: [PATCH 120/179] Update manager.py --- manager.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/manager.py b/manager.py index e25d2b77..585902ac 100644 --- a/manager.py +++ b/manager.py @@ -24,6 +24,7 @@ from globalvalues import DEFAULT_INTERVAL_NORMAL, DEFAULT_INTERVAL_TEST from globalvalues import DEFAULT_DATALOG, DEFAULT_DATA_BACKLOG_FILE from globalvalues import ANSI_RESET, ANSI_YEL, ANSI_GR, ANSI_RED +from globalvalues import DEFAULT_PROTOCAL import signal import sys @@ -424,7 +425,13 @@ def from_argparse(cls): parser.add_argument( '--datalogflag', '-a', action='store_true', default=False, help='Enable logging local data (default off)') - + + # communication protocal + parser.add_argument( + '--protocal', '-r', default=None, + help='Specify what communication protocal is to be used (default {})'.format( + DEFAULT_PROTOCAL) + args = parser.parse_args() arg_dict = vars(args) mgr = Manager(**arg_dict) From c6ec78305c9b64c3f0d5e71962e1be8a4d76b332 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 11:34:03 -0700 Subject: [PATCH 121/179] Update manager.py --- manager.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 585902ac..f4431b14 100644 --- a/manager.py +++ b/manager.py @@ -74,8 +74,11 @@ def __init__(self, logfile=None, datalog=None, datalogflag=False, + protocal=DEFAULT_PROTOCAL, ): - + + self.protocal = protocal + self.datalog = datalog self.datalogflag = datalogflag From 8b57dd7c492d90bec1bc608f02d450a2519e1fb5 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 11:55:06 -0700 Subject: [PATCH 122/179] Update manager.py --- manager.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/manager.py b/manager.py index f4431b14..a96d7c37 100644 --- a/manager.py +++ b/manager.py @@ -74,10 +74,10 @@ def __init__(self, logfile=None, datalog=None, datalogflag=False, - protocal=DEFAULT_PROTOCAL, + protoc0l=DEFAULT_PROTOCoL, ): - self.protocal = protocal + self.protocol = protocol self.datalog = datalog self.datalogflag = datalogflag @@ -431,9 +431,9 @@ def from_argparse(cls): # communication protocal parser.add_argument( - '--protocal', '-r', default=None, - help='Specify what communication protocal is to be used (default {})'.format( - DEFAULT_PROTOCAL) + '--protocol', '-r', default=DEFAULT_PROTOCOL, + help='Specify what communication protocol is to be used (default {})'.format( + DEFAULT_PROTOCOL) args = parser.parse_args() arg_dict = vars(args) From a1579fa82d59d90cafd41eebfeaeb240a037fc05 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 11:56:22 -0700 Subject: [PATCH 123/179] Update globalvalues.py --- globalvalues.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/globalvalues.py b/globalvalues.py index c103801c..85218345 100644 --- a/globalvalues.py +++ b/globalvalues.py @@ -29,7 +29,7 @@ DEFAULT_SENDER_MODE = 'udp' DEFAULT_DATALOG = '/home/pi/data-log.txt' DEFAULT_DATA_BACKLOG_FILE = '/home/pi/data_backlog_file.txt' -DEFAULT_PROTOCAL = None +DEFAULT_PROTOCAL = 'old' DEFAULT_INTERVAL_NORMAL = 300 DEFAULT_INTERVAL_TEST = 30 From 227811f3b943f3080ed166fe89a608f49b5aa6eb Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 11:57:28 -0700 Subject: [PATCH 124/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index 2cec6767..ccf51968 100644 --- a/data_handler.py +++ b/data_handler.py @@ -135,7 +135,7 @@ def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): elif not self.manager.network_up: self.no_network_send(cpm, cpm_err) else: - self.flush_send_to_server() + #self.flush_send_to_server() self.regular_send(cpm, cpm_err) From 93a03ef8f2065ae5a96b25d920fa8ae4d4fae533 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 11:58:09 -0700 Subject: [PATCH 125/179] Update manager.py --- manager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manager.py b/manager.py index a96d7c37..7b14e79a 100644 --- a/manager.py +++ b/manager.py @@ -122,6 +122,8 @@ def __init__(self, verbosity=self.v, logfile=self.logfile) + self.datahandler.flush_send_to_server() + def a_flag(self): """ Checks if the -a from_argparse is called. From 20316186535e6252bdc07c0c5c60ebedfc421554 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 12:00:26 -0700 Subject: [PATCH 126/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 7b14e79a..e23091ce 100644 --- a/manager.py +++ b/manager.py @@ -435,7 +435,7 @@ def from_argparse(cls): parser.add_argument( '--protocol', '-r', default=DEFAULT_PROTOCOL, help='Specify what communication protocol is to be used (default {})'.format( - DEFAULT_PROTOCOL) + DEFAULT_PROTOCOL)) args = parser.parse_args() arg_dict = vars(args) From 00c2e799f4ebbd1e10776055a0b1f0a9056b6871 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 12:01:16 -0700 Subject: [PATCH 127/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index e23091ce..a5d32866 100644 --- a/manager.py +++ b/manager.py @@ -74,7 +74,7 @@ def __init__(self, logfile=None, datalog=None, datalogflag=False, - protoc0l=DEFAULT_PROTOCoL, + protocol=DEFAULT_PROTOCOL, ): self.protocol = protocol From 82f46b1339923d5028da5dd6c90df7387c581a7f Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 12:01:58 -0700 Subject: [PATCH 128/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index a5d32866..6cd66559 100644 --- a/manager.py +++ b/manager.py @@ -24,7 +24,7 @@ from globalvalues import DEFAULT_INTERVAL_NORMAL, DEFAULT_INTERVAL_TEST from globalvalues import DEFAULT_DATALOG, DEFAULT_DATA_BACKLOG_FILE from globalvalues import ANSI_RESET, ANSI_YEL, ANSI_GR, ANSI_RED -from globalvalues import DEFAULT_PROTOCAL +from globalvalues import DEFAULT_PROTOCOL import signal import sys From 42bfa00d7eed4b31b6e497f079324d85c7c6d392 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 12:02:15 -0700 Subject: [PATCH 129/179] Update globalvalues.py --- globalvalues.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/globalvalues.py b/globalvalues.py index 85218345..3495eb3f 100644 --- a/globalvalues.py +++ b/globalvalues.py @@ -29,7 +29,7 @@ DEFAULT_SENDER_MODE = 'udp' DEFAULT_DATALOG = '/home/pi/data-log.txt' DEFAULT_DATA_BACKLOG_FILE = '/home/pi/data_backlog_file.txt' -DEFAULT_PROTOCAL = 'old' +DEFAULT_PROTOCOL = 'old' DEFAULT_INTERVAL_NORMAL = 300 DEFAULT_INTERVAL_TEST = 30 From 2d5f5719aeba74ed9ab61a3699fbdb2a7eb20e91 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 12:03:09 -0700 Subject: [PATCH 130/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 6cd66559..1ab4b14d 100644 --- a/manager.py +++ b/manager.py @@ -122,7 +122,7 @@ def __init__(self, verbosity=self.v, logfile=self.logfile) - self.datahandler.flush_send_to_server() + self.data_handler.flush_send_to_server() def a_flag(self): """ From 2fbcc32bfe06db092796457ce5ade98d99ba698d Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 12:16:29 -0700 Subject: [PATCH 131/179] Update manager.py --- manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/manager.py b/manager.py index 1ab4b14d..f10aac80 100644 --- a/manager.py +++ b/manager.py @@ -123,6 +123,7 @@ def __init__(self, logfile=self.logfile) self.data_handler.flush_send_to_server() + print('backlog flushed to server') def a_flag(self): """ From 3106ac778526bc2e06285e628afe22dee403fb22 Mon Sep 17 00:00:00 2001 From: tybtab Date: Tue, 21 Jun 2016 12:16:53 -0700 Subject: [PATCH 132/179] Update globalvalues.py --- globalvalues.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/globalvalues.py b/globalvalues.py index 3495eb3f..7d652a99 100644 --- a/globalvalues.py +++ b/globalvalues.py @@ -31,7 +31,7 @@ DEFAULT_DATA_BACKLOG_FILE = '/home/pi/data_backlog_file.txt' DEFAULT_PROTOCOL = 'old' -DEFAULT_INTERVAL_NORMAL = 300 +DEFAULT_INTERVAL_NORMAL = 30 DEFAULT_INTERVAL_TEST = 30 DEFAULT_MAX_ACCUM_TIME = 3600 From 4e655d3de21705749f0a7fd64d0ef59bc9e014fb Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 09:24:52 -0700 Subject: [PATCH 133/179] Update auxiliaries.py --- auxiliaries.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/auxiliaries.py b/auxiliaries.py index c4a9ea00..d3e645ec 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -316,7 +316,9 @@ def __nonzero__(self): def cleanup(self): GPIO.cleanup() - + if self._p: + self._p.terminate() + self.pinging = False class Config(object): """ From 4cfe85a335c37f431c192f7396533830996c0339 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 09:44:20 -0700 Subject: [PATCH 134/179] Update globalvalues.py --- globalvalues.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/globalvalues.py b/globalvalues.py index 7d652a99..3495eb3f 100644 --- a/globalvalues.py +++ b/globalvalues.py @@ -31,7 +31,7 @@ DEFAULT_DATA_BACKLOG_FILE = '/home/pi/data_backlog_file.txt' DEFAULT_PROTOCOL = 'old' -DEFAULT_INTERVAL_NORMAL = 30 +DEFAULT_INTERVAL_NORMAL = 300 DEFAULT_INTERVAL_TEST = 30 DEFAULT_MAX_ACCUM_TIME = 3600 From 1e8cc8fcb5b52510760dcab3d770bbabaa3a70fe Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 09:45:17 -0700 Subject: [PATCH 135/179] Update auxiliaries.py --- auxiliaries.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auxiliaries.py b/auxiliaries.py index d3e645ec..00d10154 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -274,7 +274,7 @@ def update(self, up_state=None): self.vprint(1, 'Network down for {} seconds'.format(time.time() - self.last_try_time)) if self.led: self.led.start_blink(interval=self.blink_period_s) - if time.time() - self.last_try_time >= 400: + if time.time() - self.last_try_time >= 1800: self.vprint(1, 'Making network go back up') os.system("sudo ifdown wlan1") os.system("sudo ifup wlan1") From 63efa7f4e5fab86bc8f7c3039dba5fd661a733e3 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 09:51:30 -0700 Subject: [PATCH 136/179] added sudo kill -s SIGQUIT --- dosenet.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dosenet.sh b/dosenet.sh index 8049a2e5..6997f7d1 100755 --- a/dosenet.sh +++ b/dosenet.sh @@ -31,6 +31,9 @@ case "$1" in logger --stderr --id --tag $LOGTAG "Stopping DoseNet script" sudo killall python & ;; + finish) + sudo kill -s SIGQUIT + ;; test) logger --stderr --id --tag $LOGTAG "Testing DoseNet script" # allow testing without configfile and/or publickey From 01d8208a398b4a52176e7afe5373b5c548f8debd Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 10:08:38 -0700 Subject: [PATCH 137/179] Update manager.py --- manager.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/manager.py b/manager.py index f10aac80..722b991d 100644 --- a/manager.py +++ b/manager.py @@ -39,6 +39,9 @@ def signal_term_handler(signal, frame): # If SIGTERM signal is intercepted, the SystemExit exception routines are ran sys.exit(0) + +# def signal_quit_handler(signal, frame): + # signal.signal(signal.SIGTERM, signal_term_handler) From fc9b90e307a00b253b120ff6d0cda7110c69fb96 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 10:13:33 -0700 Subject: [PATCH 138/179] Update manager.py --- manager.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/manager.py b/manager.py index 722b991d..cccc53b5 100644 --- a/manager.py +++ b/manager.py @@ -78,8 +78,11 @@ def __init__(self, datalog=None, datalogflag=False, protocol=DEFAULT_PROTOCOL, + time_between_intervals=time.time(), ): + self.time_between_intervals = time_between_intervals + self.protocol = protocol self.datalog = datalog @@ -343,6 +346,7 @@ def handle_cpm(self, this_start, this_end): cpm, cpm_err = self.sensor.get_cpm(this_start, this_end) counts = int(round(cpm * self.interval / 60)) self.data_handler.main(self.datalog, cpm, cpm_err, this_start, this_end, counts) + self.time_between_intervals = time.time() def takedown(self): """Delete self and child objects and clean up GPIO nicely.""" From 8f367749d41fa64052437a4ba8bd4621c3d380f6 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 10:19:42 -0700 Subject: [PATCH 139/179] Added sigquit functionality --- manager.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/manager.py b/manager.py index cccc53b5..7fb25b2d 100644 --- a/manager.py +++ b/manager.py @@ -467,3 +467,12 @@ class SleepError(Exception): traceback.print_exc(15, f) # regardless, re-raise the error which will print to stderr raise + + def signal_quit_handler(signal, frame): + # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval + while time.time() - mgr.time_between_intervals > 10: + pass + else: + sys.exit(0) + + signal.signal(signal.SIGQUIT, signal_quit_handler) From 1febdd17c6b0213a817425faaa165288e3442320 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 10:41:05 -0700 Subject: [PATCH 140/179] Update manager.py --- manager.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/manager.py b/manager.py index 7fb25b2d..8310a5c3 100644 --- a/manager.py +++ b/manager.py @@ -39,9 +39,6 @@ def signal_term_handler(signal, frame): # If SIGTERM signal is intercepted, the SystemExit exception routines are ran sys.exit(0) - -# def signal_quit_handler(signal, frame): - # signal.signal(signal.SIGTERM, signal_term_handler) @@ -78,10 +75,10 @@ def __init__(self, datalog=None, datalogflag=False, protocol=DEFAULT_PROTOCOL, - time_between_intervals=time.time(), + quit_after_interval=False, ): - self.time_between_intervals = time_between_intervals + self.quit_after_interval = quit_after_interval self.protocol = protocol @@ -254,7 +251,10 @@ def run(self): ' with intervals of {}s').format( datetime_from_epoch(this_start), self.interval)) self.running = True - + + if self.quit_after_interval: + sys.exit(0) + try: while self.running: self.vprint(3, 'Sleeping at {} until {}'.format( @@ -346,7 +346,6 @@ def handle_cpm(self, this_start, this_end): cpm, cpm_err = self.sensor.get_cpm(this_start, this_end) counts = int(round(cpm * self.interval / 60)) self.data_handler.main(self.datalog, cpm, cpm_err, this_start, this_end, counts) - self.time_between_intervals = time.time() def takedown(self): """Delete self and child objects and clean up GPIO nicely.""" @@ -470,9 +469,6 @@ class SleepError(Exception): def signal_quit_handler(signal, frame): # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval - while time.time() - mgr.time_between_intervals > 10: - pass - else: - sys.exit(0) + mgr.quit_after_interval = true signal.signal(signal.SIGQUIT, signal_quit_handler) From 2e8d9e8f9e835ee9f40e4a1cbc5c4fa60ee1b416 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 10:49:36 -0700 Subject: [PATCH 141/179] Update manager.py --- manager.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/manager.py b/manager.py index 8310a5c3..9a2cc3c1 100644 --- a/manager.py +++ b/manager.py @@ -252,9 +252,6 @@ def run(self): datetime_from_epoch(this_start), self.interval)) self.running = True - if self.quit_after_interval: - sys.exit(0) - try: while self.running: self.vprint(3, 'Sleeping at {} until {}'.format( @@ -262,6 +259,8 @@ def run(self): datetime_from_epoch(this_end))) try: self.sleep_until(this_end) + if self.quit_after_interval: + sys.exit(0) except SleepError: self.vprint(1, 'SleepError: system clock skipped ahead!') # the previous start/end times are meaningless. @@ -470,5 +469,7 @@ class SleepError(Exception): def signal_quit_handler(signal, frame): # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval mgr.quit_after_interval = true + print('got sigquit') + print(mgr.quit_after_interval) signal.signal(signal.SIGQUIT, signal_quit_handler) From 493a5115274ef57959d901da8e5a04b4a600995e Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 10:57:22 -0700 Subject: [PATCH 142/179] Update manager.py --- manager.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/manager.py b/manager.py index 9a2cc3c1..caa352b1 100644 --- a/manager.py +++ b/manager.py @@ -42,6 +42,14 @@ def signal_term_handler(signal, frame): signal.signal(signal.SIGTERM, signal_term_handler) +def signal_quit_handler(signal, frame): + # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval + mgr.quit_after_interval = true + print('got sigquit') + print(mgr.quit_after_interval) + +signal.signal(signal.SIGQUIT, signal_quit_handler) + class Manager(object): """ Master object for dosimeter operation. @@ -466,10 +474,10 @@ class SleepError(Exception): # regardless, re-raise the error which will print to stderr raise - def signal_quit_handler(signal, frame): + #def signal_quit_handler(signal, frame): # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval - mgr.quit_after_interval = true - print('got sigquit') - print(mgr.quit_after_interval) + #mgr.quit_after_interval = true + #print('got sigquit') + #print(mgr.quit_after_interval) - signal.signal(signal.SIGQUIT, signal_quit_handler) + #signal.signal(signal.SIGQUIT, signal_quit_handler) From 8c8787b28a109af199bfc1117d0e07d31090d6d9 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 11:08:43 -0700 Subject: [PATCH 143/179] Update manager.py --- manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manager.py b/manager.py index caa352b1..5eb3ec35 100644 --- a/manager.py +++ b/manager.py @@ -267,8 +267,6 @@ def run(self): datetime_from_epoch(this_end))) try: self.sleep_until(this_end) - if self.quit_after_interval: - sys.exit(0) except SleepError: self.vprint(1, 'SleepError: system clock skipped ahead!') # the previous start/end times are meaningless. @@ -289,6 +287,8 @@ def run(self): time.time() - self.interval) self.handle_cpm(this_start, this_end) + if self.quit_after_interval: + sys.exit(0) this_start, this_end = self.get_interval(this_end) except KeyboardInterrupt: self.vprint(1, '\nKeyboardInterrupt: stopping Manager run') From e0f5827e65851a6fdf37676ad09610440a0625a3 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 11:18:06 -0700 Subject: [PATCH 144/179] Update manager.py --- manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager.py b/manager.py index 5eb3ec35..1a6d3943 100644 --- a/manager.py +++ b/manager.py @@ -44,7 +44,7 @@ def signal_term_handler(signal, frame): def signal_quit_handler(signal, frame): # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval - mgr.quit_after_interval = true + mgr.quit_after_interval = True print('got sigquit') print(mgr.quit_after_interval) From c19ad6df338ee7dbbd0358b673e7fb6cfdca5f3e Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 11:29:30 -0700 Subject: [PATCH 145/179] Update manager.py --- manager.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/manager.py b/manager.py index 1a6d3943..5c911ce9 100644 --- a/manager.py +++ b/manager.py @@ -41,7 +41,7 @@ def signal_term_handler(signal, frame): sys.exit(0) signal.signal(signal.SIGTERM, signal_term_handler) - +''' def signal_quit_handler(signal, frame): # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval mgr.quit_after_interval = True @@ -49,7 +49,7 @@ def signal_quit_handler(signal, frame): print(mgr.quit_after_interval) signal.signal(signal.SIGQUIT, signal_quit_handler) - +''' class Manager(object): """ Master object for dosimeter operation. @@ -474,10 +474,10 @@ class SleepError(Exception): # regardless, re-raise the error which will print to stderr raise - #def signal_quit_handler(signal, frame): + def signal_quit_handler(signal, frame): # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval - #mgr.quit_after_interval = true - #print('got sigquit') - #print(mgr.quit_after_interval) + mgr.quit_after_interval = True + print('got sigquit') + print(mgr.quit_after_interval) - #signal.signal(signal.SIGQUIT, signal_quit_handler) + signal.signal(signal.SIGQUIT, signal_quit_handler) From 74960d511e2e2b7bbb02f3721f6f63b94617f1c2 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 11:31:26 -0700 Subject: [PATCH 146/179] Update manager.py --- manager.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/manager.py b/manager.py index 5c911ce9..326fbb15 100644 --- a/manager.py +++ b/manager.py @@ -41,7 +41,7 @@ def signal_term_handler(signal, frame): sys.exit(0) signal.signal(signal.SIGTERM, signal_term_handler) -''' + def signal_quit_handler(signal, frame): # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval mgr.quit_after_interval = True @@ -49,7 +49,7 @@ def signal_quit_handler(signal, frame): print(mgr.quit_after_interval) signal.signal(signal.SIGQUIT, signal_quit_handler) -''' + class Manager(object): """ Master object for dosimeter operation. @@ -473,7 +473,7 @@ class SleepError(Exception): traceback.print_exc(15, f) # regardless, re-raise the error which will print to stderr raise - + ''' def signal_quit_handler(signal, frame): # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval mgr.quit_after_interval = True @@ -481,3 +481,4 @@ def signal_quit_handler(signal, frame): print(mgr.quit_after_interval) signal.signal(signal.SIGQUIT, signal_quit_handler) + ''' From 63d798d26a1f12cb1949def77b6000c55b7462d7 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 11:34:09 -0700 Subject: [PATCH 147/179] Update manager.py --- manager.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/manager.py b/manager.py index 326fbb15..a7a653ca 100644 --- a/manager.py +++ b/manager.py @@ -287,8 +287,8 @@ def run(self): time.time() - self.interval) self.handle_cpm(this_start, this_end) - if self.quit_after_interval: - sys.exit(0) + #if self.quit_after_interval: + #sys.exit(0) this_start, this_end = self.get_interval(this_end) except KeyboardInterrupt: self.vprint(1, '\nKeyboardInterrupt: stopping Manager run') @@ -353,6 +353,8 @@ def handle_cpm(self, this_start, this_end): cpm, cpm_err = self.sensor.get_cpm(this_start, this_end) counts = int(round(cpm * self.interval / 60)) self.data_handler.main(self.datalog, cpm, cpm_err, this_start, this_end, counts) + if self.quit_after_interval: + sys.exit(0) def takedown(self): """Delete self and child objects and clean up GPIO nicely.""" From 619c5aeb813517a3155484d83f04515cfb85e71c Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 11:52:36 -0700 Subject: [PATCH 148/179] Update manager.py --- manager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/manager.py b/manager.py index a7a653ca..0e9b4bab 100644 --- a/manager.py +++ b/manager.py @@ -303,7 +303,7 @@ def stop(self): """Stop counting time.""" self.running = False - def sleep_until(self, end_time): + def sleep_until(self, end_time, retry=True): """ Sleep until the given timestamp. @@ -317,6 +317,8 @@ def sleep_until(self, end_time): # this shouldn't happen now that SleepError is raised and handled raise RuntimeError time.sleep(sleeptime) + if self.quit_after_interval and retry: + self.sleep_until(end_time, retry=False) now = time.time() self.vprint( 2, 'sleep_until offset is {} seconds'.format(now - end_time)) From 47fa875621df8c9f8cbbb0218487ab7b6f71df00 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 12:03:08 -0700 Subject: [PATCH 149/179] Update manager.py --- manager.py | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/manager.py b/manager.py index 0e9b4bab..e28254a6 100644 --- a/manager.py +++ b/manager.py @@ -45,9 +45,7 @@ def signal_term_handler(signal, frame): def signal_quit_handler(signal, frame): # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval mgr.quit_after_interval = True - print('got sigquit') - print(mgr.quit_after_interval) - + signal.signal(signal.SIGQUIT, signal_quit_handler) class Manager(object): @@ -287,8 +285,6 @@ def run(self): time.time() - self.interval) self.handle_cpm(this_start, this_end) - #if self.quit_after_interval: - #sys.exit(0) this_start, this_end = self.get_interval(this_end) except KeyboardInterrupt: self.vprint(1, '\nKeyboardInterrupt: stopping Manager run') @@ -477,12 +473,4 @@ class SleepError(Exception): traceback.print_exc(15, f) # regardless, re-raise the error which will print to stderr raise - ''' - def signal_quit_handler(signal, frame): - # If SIGQUIT signal is intercepted, the SystemExit exception routines are ran if its right after an interval - mgr.quit_after_interval = True - print('got sigquit') - print(mgr.quit_after_interval) - - signal.signal(signal.SIGQUIT, signal_quit_handler) - ''' + From 251c449782678e2ffa899776cb34ce7aa23652f4 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 12:16:51 -0700 Subject: [PATCH 150/179] added backlog_to_queue --- data_handler.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/data_handler.py b/data_handler.py index ccf51968..4c306947 100644 --- a/data_handler.py +++ b/data_handler.py @@ -107,6 +107,19 @@ def send_to_queue(self, cpm, cpm_err): time_string = time.strftime("%Y-%m-%d %H:%M:%S") self.queue.append([time_string, cpm, cpm_err]) print(self.queue) + + def backlog_to_queue(self, path=DEFAULT_DATA_BACKLOG_FILE): + """ + Sends data in backlog to queue and deletes the backlog + """ + if os.path.isfile(path): + with open(path, 'r') as f: + data = f.read() + data = ast.literal_eval(data) + for i in data: + self.queue.appened([i[0], i[1], i[2]) + print(self.queue) + os.remove(path) def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): """ From 6ed89066b033dd655584d6217e9fbf5b0683b848 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 12:18:07 -0700 Subject: [PATCH 151/179] Update manager.py --- manager.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/manager.py b/manager.py index e28254a6..f5bf9db3 100644 --- a/manager.py +++ b/manager.py @@ -131,8 +131,9 @@ def __init__(self, verbosity=self.v, logfile=self.logfile) - self.data_handler.flush_send_to_server() - print('backlog flushed to server') + #self.data_handler.flush_send_to_server() + self.data_handler.backlog_to_queue() + print('backlog flushed to queue') def a_flag(self): """ From f9f93d47024704ff6410d982b26907d54efbc401 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 12:19:10 -0700 Subject: [PATCH 152/179] Update globalvalues.py --- globalvalues.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/globalvalues.py b/globalvalues.py index 3495eb3f..7d652a99 100644 --- a/globalvalues.py +++ b/globalvalues.py @@ -31,7 +31,7 @@ DEFAULT_DATA_BACKLOG_FILE = '/home/pi/data_backlog_file.txt' DEFAULT_PROTOCOL = 'old' -DEFAULT_INTERVAL_NORMAL = 300 +DEFAULT_INTERVAL_NORMAL = 30 DEFAULT_INTERVAL_TEST = 30 DEFAULT_MAX_ACCUM_TIME = 3600 From d7d97423d96bda2336c4f808d32ccbea76cc10f4 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 12:20:20 -0700 Subject: [PATCH 153/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index 4c306947..132a6711 100644 --- a/data_handler.py +++ b/data_handler.py @@ -117,7 +117,7 @@ def backlog_to_queue(self, path=DEFAULT_DATA_BACKLOG_FILE): data = f.read() data = ast.literal_eval(data) for i in data: - self.queue.appened([i[0], i[1], i[2]) + self.queue.appened([i[0], i[1], i[2]]) print(self.queue) os.remove(path) From 23012a653f783ce93f1d7edeccb7492efbdd0509 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 12:25:14 -0700 Subject: [PATCH 154/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index 132a6711..d20d6739 100644 --- a/data_handler.py +++ b/data_handler.py @@ -117,7 +117,7 @@ def backlog_to_queue(self, path=DEFAULT_DATA_BACKLOG_FILE): data = f.read() data = ast.literal_eval(data) for i in data: - self.queue.appened([i[0], i[1], i[2]]) + self.queue.append([i[0], i[1], i[2]]) print(self.queue) os.remove(path) From 7861c00342eb95742ceddaf3513192b007bd8a44 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 17:17:34 -0700 Subject: [PATCH 155/179] Update data_handler.py --- data_handler.py | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/data_handler.py b/data_handler.py index d20d6739..36651527 100644 --- a/data_handler.py +++ b/data_handler.py @@ -66,7 +66,8 @@ def no_network_send(self, cpm, cpm_err): Network is not up """ self.vprint(1, "Network down, not sending to server") - self.send_to_queue(cpm, cpm_err) + if self.manager.protocol == 'new': + self.send_to_queue(cpm, cpm_err) def regular_send(self, cpm, cpm_err): """ @@ -74,17 +75,20 @@ def regular_send(self, cpm, cpm_err): """ try: self.manager.sender.send_cpm(cpm, cpm_err) - while self.queue: - trash = self.queue.popleft() - self.manager.sender.send_cpm(trash[1], trash[2]) + if self.manager.protocol == 'new': + while self.queue: + trash = self.queue.popleft() + self.manager.sender.send_cpm(trash[1], trash[2]) except socket.error: - self.send_to_queue(cpm, cpm_err) + if self.manager.protocol == 'new': + self.send_to_queue(cpm, cpm_err) def send_all_to_backlog(self, path=DEFAULT_DATA_BACKLOG_FILE): - if self.queue: - with open(path, 'a') as f: - while self.queue: - f.write('{0}, '.format(self.queue.popleft())) + if self.manager.protocol == 'new' + if self.queue: + with open(path, 'a') as f: + while self.queue: + f.write('{0}, '.format(self.queue.popleft())) def flush_send_to_server(self, path=DEFAULT_DATA_BACKLOG_FILE): """ @@ -104,22 +108,24 @@ def send_to_queue(self, cpm, cpm_err): """ Adds the time, cpm, and cpm_err to the deque object. """ - time_string = time.strftime("%Y-%m-%d %H:%M:%S") - self.queue.append([time_string, cpm, cpm_err]) - print(self.queue) + if self.manager.protocol == 'new': + time_string = time.strftime("%Y-%m-%d %H:%M:%S") + self.queue.append([time_string, cpm, cpm_err]) + print(self.queue) def backlog_to_queue(self, path=DEFAULT_DATA_BACKLOG_FILE): """ Sends data in backlog to queue and deletes the backlog """ - if os.path.isfile(path): - with open(path, 'r') as f: - data = f.read() - data = ast.literal_eval(data) - for i in data: - self.queue.append([i[0], i[1], i[2]]) - print(self.queue) - os.remove(path) + if self.manager.protocol == 'new': + if os.path.isfile(path): + with open(path, 'r') as f: + data = f.read() + data = ast.literal_eval(data) + for i in data: + self.queue.append([i[0], i[1], i[2]]) + print(self.queue) + os.remove(path) def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): """ @@ -148,7 +154,6 @@ def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): elif not self.manager.network_up: self.no_network_send(cpm, cpm_err) else: - #self.flush_send_to_server() self.regular_send(cpm, cpm_err) From 73aca701587808c40e5ad3f6cce91bec7d878cc1 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 17:20:47 -0700 Subject: [PATCH 156/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index 36651527..2b22a1b1 100644 --- a/data_handler.py +++ b/data_handler.py @@ -84,7 +84,7 @@ def regular_send(self, cpm, cpm_err): self.send_to_queue(cpm, cpm_err) def send_all_to_backlog(self, path=DEFAULT_DATA_BACKLOG_FILE): - if self.manager.protocol == 'new' + if self.manager.protocol == 'new': if self.queue: with open(path, 'a') as f: while self.queue: From 443cfef35a815c9138bef49e9a9d78e0b4cfa593 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 17:31:59 -0700 Subject: [PATCH 157/179] Update manager.py --- manager.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/manager.py b/manager.py index f5bf9db3..10e90706 100644 --- a/manager.py +++ b/manager.py @@ -131,9 +131,7 @@ def __init__(self, verbosity=self.v, logfile=self.logfile) - #self.data_handler.flush_send_to_server() self.data_handler.backlog_to_queue() - print('backlog flushed to queue') def a_flag(self): """ From 9a69bb92d263e23b1bda93662305c66cd5a021ac Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 17:34:24 -0700 Subject: [PATCH 158/179] Update manager.py --- manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manager.py b/manager.py index 10e90706..d32f6e93 100644 --- a/manager.py +++ b/manager.py @@ -256,7 +256,7 @@ def run(self): ' with intervals of {}s').format( datetime_from_epoch(this_start), self.interval)) self.running = True - + try: while self.running: self.vprint(3, 'Sleeping at {} until {}'.format( @@ -342,7 +342,7 @@ def data_log(self, file, cpm, cpm_err): f.write('{0}, {1}, {2}'.format(time_string, cpm, cpm_err)) f.write('\n') self.vprint(2, 'Writing CPM to data log at {}'.format(file)) - + def handle_cpm(self, this_start, this_end): """ Get CPM from sensor, display text, send to server. From 6be05da5eadc10ff3579683955158c8c0f47b728 Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 17:36:55 -0700 Subject: [PATCH 159/179] Update tests.py --- tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests.py b/tests.py index f402d34e..fd16430a 100644 --- a/tests.py +++ b/tests.py @@ -397,7 +397,7 @@ def test_no_network(self): the deque object, checks if the Data_Handler class was created. """ - mgr = Manager() + mgr = Manager(protocol='new') mgr.network_up = False now = time.time() From c68a015140a16b1656fe7911350fdec31a930eae Mon Sep 17 00:00:00 2001 From: tybtab Date: Thu, 23 Jun 2016 17:37:35 -0700 Subject: [PATCH 160/179] Update manager.py --- manager.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manager.py b/manager.py index d32f6e93..8428af8b 100644 --- a/manager.py +++ b/manager.py @@ -81,10 +81,9 @@ def __init__(self, datalog=None, datalogflag=False, protocol=DEFAULT_PROTOCOL, - quit_after_interval=False, ): - self.quit_after_interval = quit_after_interval + self.quit_after_interval = False self.protocol = protocol From ddb994a88b178e0c1d4efd89e15206e55b610e04 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 10:16:20 -0700 Subject: [PATCH 161/179] Update data_handler.py --- data_handler.py | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/data_handler.py b/data_handler.py index 2b22a1b1..11cb6c67 100644 --- a/data_handler.py +++ b/data_handler.py @@ -89,20 +89,6 @@ def send_all_to_backlog(self, path=DEFAULT_DATA_BACKLOG_FILE): with open(path, 'a') as f: while self.queue: f.write('{0}, '.format(self.queue.popleft())) - - def flush_send_to_server(self, path=DEFAULT_DATA_BACKLOG_FILE): - """ - Sends the cpm data from DEFAULT_DATA_BACKLOG_FILE if network is up. - - Also deletes the file. - """ - if os.path.isfile(path) and self.manager.network_up: - with open(path, 'r') as f: - data = f.read() - data = ast.literal_eval(data) - for i in data: - self.manager.sender.send_cpm(i[1], i[2]) - os.remove(path) def send_to_queue(self, cpm, cpm_err): """ From 93a64f38cd550a1a3684bdf99d72b568f2a11787 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 10:18:50 -0700 Subject: [PATCH 162/179] Update globalvalues.py --- globalvalues.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/globalvalues.py b/globalvalues.py index 7d652a99..3495eb3f 100644 --- a/globalvalues.py +++ b/globalvalues.py @@ -31,7 +31,7 @@ DEFAULT_DATA_BACKLOG_FILE = '/home/pi/data_backlog_file.txt' DEFAULT_PROTOCOL = 'old' -DEFAULT_INTERVAL_NORMAL = 30 +DEFAULT_INTERVAL_NORMAL = 300 DEFAULT_INTERVAL_TEST = 30 DEFAULT_MAX_ACCUM_TIME = 3600 From 0b1772707d617423b1f700adaea1c755b7060ef4 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 10:19:17 -0700 Subject: [PATCH 163/179] Update dosenet.sh --- dosenet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dosenet.sh b/dosenet.sh index 6997f7d1..7f4c9708 100755 --- a/dosenet.sh +++ b/dosenet.sh @@ -23,7 +23,7 @@ PUBLICKEY=$CONFIGDIR/id_rsa_lbl.pub case "$1" in start) logger --stderr --id --tag $LOGTAG "Starting DoseNet script" - ntp-wait -n 3 -s 30 + ntp-wait -n 10 -s 30 # -dm runs screen in background. doesn't work without it on Raspbian Jesse. sudo screen -dm python $DOSENET/manager.py ;; From b3b8896970f54306bf8c57855e8e9c5305a77098 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 10:22:55 -0700 Subject: [PATCH 164/179] Update data_handler.py --- data_handler.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index 11cb6c67..c8483815 100644 --- a/data_handler.py +++ b/data_handler.py @@ -65,9 +65,11 @@ def no_network_send(self, cpm, cpm_err): """ Network is not up """ - self.vprint(1, "Network down, not sending to server") if self.manager.protocol == 'new': self.send_to_queue(cpm, cpm_err) + self.vprint(1, "Network down, saving to queue in memory") + else: + self.vprint(1, "Network down, not sending to server") def regular_send(self, cpm, cpm_err): """ From 704e943edebbe44409c4fa9407c5fb049af74dd5 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 10:26:29 -0700 Subject: [PATCH 165/179] Update data_handler.py --- data_handler.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/data_handler.py b/data_handler.py index c8483815..41309ac9 100644 --- a/data_handler.py +++ b/data_handler.py @@ -84,6 +84,9 @@ def regular_send(self, cpm, cpm_err): except socket.error: if self.manager.protocol == 'new': self.send_to_queue(cpm, cpm_err) + self.vprint(1, "Socket error: saving to queue in memory") + else: + self.vprint(1, "Socket error: data not sent") def send_all_to_backlog(self, path=DEFAULT_DATA_BACKLOG_FILE): if self.manager.protocol == 'new': From 7cbfb5113ff595e7964c467107c981328e583ed9 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 10:28:58 -0700 Subject: [PATCH 166/179] Update data_handler.py --- data_handler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/data_handler.py b/data_handler.py index 41309ac9..f0d189e8 100644 --- a/data_handler.py +++ b/data_handler.py @@ -78,6 +78,7 @@ def regular_send(self, cpm, cpm_err): try: self.manager.sender.send_cpm(cpm, cpm_err) if self.manager.protocol == 'new': + vprint(1, "Flushing memory queue to server") while self.queue: trash = self.queue.popleft() self.manager.sender.send_cpm(trash[1], trash[2]) From 7c51d825b8776f64145d8a919382046529918587 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 10:34:18 -0700 Subject: [PATCH 167/179] Update data_handler.py --- data_handler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/data_handler.py b/data_handler.py index f0d189e8..c649a802 100644 --- a/data_handler.py +++ b/data_handler.py @@ -92,6 +92,7 @@ def regular_send(self, cpm, cpm_err): def send_all_to_backlog(self, path=DEFAULT_DATA_BACKLOG_FILE): if self.manager.protocol == 'new': if self.queue: + vprint(1, "Flushing memory queue to backlog file") with open(path, 'a') as f: while self.queue: f.write('{0}, '.format(self.queue.popleft())) From 44256d1df0c3f7fd0da51898d12bb728f8c42ecd Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 10:35:59 -0700 Subject: [PATCH 168/179] Update data_handler.py --- data_handler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/data_handler.py b/data_handler.py index c649a802..100d41a2 100644 --- a/data_handler.py +++ b/data_handler.py @@ -112,6 +112,7 @@ def backlog_to_queue(self, path=DEFAULT_DATA_BACKLOG_FILE): """ if self.manager.protocol == 'new': if os.path.isfile(path): + vprint(2, "Flushing backlog file to memory queue") with open(path, 'r') as f: data = f.read() data = ast.literal_eval(data) From cd9bba3e51f5a2a7228c7362164f0d361996c558 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 10:38:02 -0700 Subject: [PATCH 169/179] Update dosenet.sh --- dosenet.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dosenet.sh b/dosenet.sh index 7f4c9708..444ce4b5 100755 --- a/dosenet.sh +++ b/dosenet.sh @@ -22,8 +22,9 @@ PUBLICKEY=$CONFIGDIR/id_rsa_lbl.pub case "$1" in start) - logger --stderr --id --tag $LOGTAG "Starting DoseNet script" + logger --stderr --id --tag $LOGTAG "Waiting for NTP to be synced..." ntp-wait -n 10 -s 30 + logger --stderr --id --tag $LOGTAG "Starting DoseNet script" # -dm runs screen in background. doesn't work without it on Raspbian Jesse. sudo screen -dm python $DOSENET/manager.py ;; From 139d03610491be92e7db2cff0884d8ea86b7c935 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 10:40:33 -0700 Subject: [PATCH 170/179] Update manager.py --- manager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manager.py b/manager.py index 8428af8b..28ca6f7b 100644 --- a/manager.py +++ b/manager.py @@ -312,6 +312,8 @@ def sleep_until(self, end_time, retry=True): raise RuntimeError time.sleep(sleeptime) if self.quit_after_interval and retry: + # SIGQUIT signal somehow interrupts time.sleep + # which makes the retry argument needed self.sleep_until(end_time, retry=False) now = time.time() self.vprint( From dc6034905cfc404c0582929946eab626e5c03e29 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 10:42:49 -0700 Subject: [PATCH 171/179] Update manager.py --- manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manager.py b/manager.py index 28ca6f7b..faf4fc24 100644 --- a/manager.py +++ b/manager.py @@ -283,6 +283,8 @@ def run(self): time.time() - self.interval) self.handle_cpm(this_start, this_end) + if self.quit_after_interval: + sys.exit(0) this_start, this_end = self.get_interval(this_end) except KeyboardInterrupt: self.vprint(1, '\nKeyboardInterrupt: stopping Manager run') @@ -351,8 +353,6 @@ def handle_cpm(self, this_start, this_end): cpm, cpm_err = self.sensor.get_cpm(this_start, this_end) counts = int(round(cpm * self.interval / 60)) self.data_handler.main(self.datalog, cpm, cpm_err, this_start, this_end, counts) - if self.quit_after_interval: - sys.exit(0) def takedown(self): """Delete self and child objects and clean up GPIO nicely.""" From 89d6667c8f05c2e346491f6da2f6a870fecde424 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 11:29:08 -0700 Subject: [PATCH 172/179] Update data_handler.py --- data_handler.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index 100d41a2..cd0904e5 100644 --- a/data_handler.py +++ b/data_handler.py @@ -78,7 +78,8 @@ def regular_send(self, cpm, cpm_err): try: self.manager.sender.send_cpm(cpm, cpm_err) if self.manager.protocol == 'new': - vprint(1, "Flushing memory queue to server") + if self.queue: + vprint(1, "Flushing memory queue to server") while self.queue: trash = self.queue.popleft() self.manager.sender.send_cpm(trash[1], trash[2]) From eb31180b394ba11fe0031b784415d4215056bb8f Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 11:32:08 -0700 Subject: [PATCH 173/179] Update data_handler.py --- data_handler.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data_handler.py b/data_handler.py index cd0904e5..11523048 100644 --- a/data_handler.py +++ b/data_handler.py @@ -79,7 +79,7 @@ def regular_send(self, cpm, cpm_err): self.manager.sender.send_cpm(cpm, cpm_err) if self.manager.protocol == 'new': if self.queue: - vprint(1, "Flushing memory queue to server") + self.vprint(1, "Flushing memory queue to server") while self.queue: trash = self.queue.popleft() self.manager.sender.send_cpm(trash[1], trash[2]) @@ -93,7 +93,7 @@ def regular_send(self, cpm, cpm_err): def send_all_to_backlog(self, path=DEFAULT_DATA_BACKLOG_FILE): if self.manager.protocol == 'new': if self.queue: - vprint(1, "Flushing memory queue to backlog file") + self.vprint(1, "Flushing memory queue to backlog file") with open(path, 'a') as f: while self.queue: f.write('{0}, '.format(self.queue.popleft())) @@ -113,7 +113,7 @@ def backlog_to_queue(self, path=DEFAULT_DATA_BACKLOG_FILE): """ if self.manager.protocol == 'new': if os.path.isfile(path): - vprint(2, "Flushing backlog file to memory queue") + self.vprint(2, "Flushing backlog file to memory queue") with open(path, 'r') as f: data = f.read() data = ast.literal_eval(data) From fd2ce39cfbfe742fa014a355c3bbdfed68a25215 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 12:01:06 -0700 Subject: [PATCH 174/179] Update sender.py --- sender.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/sender.py b/sender.py index 9c17646f..7885c39a 100644 --- a/sender.py +++ b/sender.py @@ -141,6 +141,26 @@ def construct_packet(self, cpm, cpm_error, error_code=0): else: self.vprint(3, 'Constructed packet') return raw_packet + + def construct_packet_new(self, timestamp, cpm, cpm_error, error_code=0): + """ + New protocol version of construct packet. + """ + + c = ',' + try: + raw_packet = ( + str(self.config.hash) + c + + str(self.config.ID) + c + + str(timestamp) + c + + str(cpm) + c + + str(cpm_error) + c + + str(error_code)) + except AttributeError: # on self.config.hash + raise MissingFile('Missing or broken Config object') + else: + self.vprint(3, 'Constructed packet') + return raw_packet def encrypt_packet(self, raw_packet): """Encrypt the raw packet""" @@ -231,6 +251,18 @@ def send_cpm(self, cpm, cpm_error, error_code=0): else: # TODO: feature add here self.vprint(2, 'Network DOWN, not sending packet') + + def send_cpm_new(self, timestamp, cpm, cpm_error, error_code=0): + """ + New protocol for send_cpm + """ + packet = self.construct_packet_new(tmestamp, cpm, cpm_error, error_code=error_code) + encrypted = self.encrypt_packet(packet) + if self.network_up or self.network_up is None: + self.send_data(encrypted) + else: + # TODO: feature add here + self.vprint(2, 'Network DOWN, not sending packet') class PacketError(Exception): From bbc0a9dd320a06b443d062a4febab01cff224c16 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 12:10:44 -0700 Subject: [PATCH 175/179] Update data_handler.py --- data_handler.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/data_handler.py b/data_handler.py index 11523048..b0be30b7 100644 --- a/data_handler.py +++ b/data_handler.py @@ -71,18 +71,20 @@ def no_network_send(self, cpm, cpm_err): else: self.vprint(1, "Network down, not sending to server") - def regular_send(self, cpm, cpm_err): + def regular_send(self, this_end, cpm, cpm_err): """ Normal send """ try: - self.manager.sender.send_cpm(cpm, cpm_err) if self.manager.protocol == 'new': + self.manager.sender.send_cpm_new(this_end, cpm, cpm_err) if self.queue: self.vprint(1, "Flushing memory queue to server") while self.queue: trash = self.queue.popleft() - self.manager.sender.send_cpm(trash[1], trash[2]) + self.manager.sender.send_cpm_new(trash[0], trash[1], trash[2]) + else: + self.manager.sender.send_cpm(cpm, cpm_err) except socket.error: if self.manager.protocol == 'new': self.send_to_queue(cpm, cpm_err) @@ -149,6 +151,6 @@ def main(self, datalog, cpm, cpm_err, this_start, this_end, counts): elif not self.manager.network_up: self.no_network_send(cpm, cpm_err) else: - self.regular_send(cpm, cpm_err) + self.regular_send(this_end, cpm, cpm_err) From 3c81ecc3f61d7e7f0bdfd6b5d5542a56b616a7bc Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 17:06:49 -0700 Subject: [PATCH 176/179] Update sender.py --- sender.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sender.py b/sender.py index 7885c39a..66c3a877 100644 --- a/sender.py +++ b/sender.py @@ -256,7 +256,7 @@ def send_cpm_new(self, timestamp, cpm, cpm_error, error_code=0): """ New protocol for send_cpm """ - packet = self.construct_packet_new(tmestamp, cpm, cpm_error, error_code=error_code) + packet = self.construct_packet_new(timestamp, cpm, cpm_error, error_code=error_code) encrypted = self.encrypt_packet(packet) if self.network_up or self.network_up is None: self.send_data(encrypted) From 35b3146c00af941af6a3a867c43618d8dcbc6734 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 17:07:51 -0700 Subject: [PATCH 177/179] Update data_handler.py --- data_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index b0be30b7..bb87b44e 100644 --- a/data_handler.py +++ b/data_handler.py @@ -105,7 +105,7 @@ def send_to_queue(self, cpm, cpm_err): Adds the time, cpm, and cpm_err to the deque object. """ if self.manager.protocol == 'new': - time_string = time.strftime("%Y-%m-%d %H:%M:%S") + time_string = time.time() self.queue.append([time_string, cpm, cpm_err]) print(self.queue) From 26cd79a9e11f367480364e499dcb4886ce96362d Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 17:09:25 -0700 Subject: [PATCH 178/179] Update auxiliaries.py --- auxiliaries.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auxiliaries.py b/auxiliaries.py index 00d10154..ded9c859 100644 --- a/auxiliaries.py +++ b/auxiliaries.py @@ -271,7 +271,7 @@ def update(self, up_state=None): else: up_state.value = 'D' self.vprint(1, ' {} is DOWN!'.format(self.hostname)) - self.vprint(1, 'Network down for {} seconds'.format(time.time() - self.last_try_time)) + self.vprint(3, 'Network down for {} seconds'.format(time.time() - self.last_try_time)) if self.led: self.led.start_blink(interval=self.blink_period_s) if time.time() - self.last_try_time >= 1800: From fa2b0d5c64f2c95dc55e7e7d76370efe731f3397 Mon Sep 17 00:00:00 2001 From: tybtab Date: Fri, 24 Jun 2016 17:10:15 -0700 Subject: [PATCH 179/179] Update data_handler.py --- data_handler.py | 1 - 1 file changed, 1 deletion(-) diff --git a/data_handler.py b/data_handler.py index bb87b44e..17c9b462 100644 --- a/data_handler.py +++ b/data_handler.py @@ -107,7 +107,6 @@ def send_to_queue(self, cpm, cpm_err): if self.manager.protocol == 'new': time_string = time.time() self.queue.append([time_string, cpm, cpm_err]) - print(self.queue) def backlog_to_queue(self, path=DEFAULT_DATA_BACKLOG_FILE): """