From d58abf161fd241d11cf0a75b1b6f948d10ed6b2e Mon Sep 17 00:00:00 2001 From: Ruben van de Ven Date: Fri, 1 Nov 2019 17:41:16 +0100 Subject: [PATCH] More status page events --- sorteerhoed/central_management.py | 4 ++++ sorteerhoed/plotter.py | 1 + sorteerhoed/webserver.py | 1 + 3 files changed, 6 insertions(+) diff --git a/sorteerhoed/central_management.py b/sorteerhoed/central_management.py index fa1e6db..435515e 100644 --- a/sorteerhoed/central_management.py +++ b/sorteerhoed/central_management.py @@ -153,11 +153,13 @@ class CentralManagement(): self.store.saveHIT(self.currentHit) self.setLight(True) self.server.statusPage.set('state', self.currentHit.getStatus()) + self.server.statusPage.set('hit_opened', self.currentHit.open_page_at) elif signal.name == 'server.submit': self.currentHit.submit_page_at = datetime.datetime.utcnow() self.store.saveHIT(self.currentHit) self.plotter.park() self.server.statusPage.set('state', self.currentHit.getStatus()) + self.server.statusPage.set('hit_opened', self.currentHit.open_page_at) # park always triggers a plotter.finished after being processed elif signal.name[:4] == 'sqs.': @@ -214,6 +216,7 @@ class CentralManagement(): self.setLight(False) scan = threading.Thread(target=self.scanImage, name='scan') scan.start() + self.server.statusPage.set('hit_submitted', self.currentHit.submit_page_at) else: self.logger.critical(f"Unknown signal: {signal.name}") @@ -251,6 +254,7 @@ class CentralManagement(): self.store.saveHIT(self.currentHit) # TODO: have HITStore/HIT take care of this by emitting a signal self.server.statusPage.set('hit_id', new_hit['HIT']['HITId']) + self.server.statusPage.set('hit_created', self.currentHit.created_at) # mturk.send_test_event_notification() if self.config['amazon']['sqs_url']: diff --git a/sorteerhoed/plotter.py b/sorteerhoed/plotter.py index 22c91e4..d3ff5af 100644 --- a/sorteerhoed/plotter.py +++ b/sorteerhoed/plotter.py @@ -66,6 +66,7 @@ class Plotter: self.ad.moveto(0,0) self.ad.disconnect() + self.logger.critical("Clear running Event") # send shutdown signal (if not already set) self.isRunning.clear() diff --git a/sorteerhoed/webserver.py b/sorteerhoed/webserver.py index 23687a6..76eebea 100644 --- a/sorteerhoed/webserver.py +++ b/sorteerhoed/webserver.py @@ -348,6 +348,7 @@ class StatusPage(): self.fee = None self.hit_created = None self.hit_opened = None + self.hit_submitted = None def __setattr__(self, name, value): if name in self.__dict__ and self.__dict__[name] == value: