From a780818ef853d645e777770c6b8a48075a0776fb Mon Sep 17 00:00:00 2001 From: Ruben van de Ven Date: Sat, 2 Nov 2019 21:23:38 +0100 Subject: [PATCH] Add option for live MT-ing --- sorteerhoed.py | 5 +++ sorteerhoed/central_management.py | 13 ++++--- www/basic_square.svg | 58 +++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 www/basic_square.svg diff --git a/sorteerhoed.py b/sorteerhoed.py index ac6097e..bd9ae11 100644 --- a/sorteerhoed.py +++ b/sorteerhoed.py @@ -21,6 +21,11 @@ if __name__ == '__main__': action='store_true', help='Skip attempt to connect to plotter' ) + argParser.add_argument( + '--for-real', + action='store_true', + help='Do not use sandbox' + ) argParser.add_argument( '--verbose', '-v', diff --git a/sorteerhoed/central_management.py b/sorteerhoed/central_management.py index fd575ed..9bcbc76 100644 --- a/sorteerhoed/central_management.py +++ b/sorteerhoed/central_management.py @@ -47,6 +47,7 @@ class CentralManagement(): if args.no_plotter: self.config['dummy_plotter'] = True + self.config['for_real'] = args.for_real varDb = os.path.join( # self.config['storage_dir'], @@ -67,15 +68,16 @@ class CentralManagement(): # M-turk connection MTURK_SANDBOX = 'https://mturk-requester-sandbox.us-east-1.amazonaws.com' + MTURK_REAL = 'https://mturk-requester.us-east-1.amazonaws.com' # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/mturk.html#MTurk.Client self.mturk = boto3.client('mturk', aws_access_key_id = self.config['amazon']['user_id'], aws_secret_access_key = self.config['amazon']['user_secret'], region_name='us-east-1', - endpoint_url = MTURK_SANDBOX + endpoint_url = MTURK_REAL if self.config['for_real'] else MTURK_SANDBOX ) - self.logger.info(f"Mechanical turk: {self.mturk.get_account_balance()}") + self.logger.info(f"Mechanical turk account balance: {self.mturk.get_account_balance()['AvailableBalance']}") self.sqs = SqsListener(self.config, self.eventQueue, self.isRunning) sqsThread = threading.Thread(target=self.sqs.start, name='sqs') @@ -97,7 +99,7 @@ class CentralManagement(): # # - self.eventQueue.put(Signal('start', {'ding':'test'})) +# self.eventQueue.put(Signal('start', {'ding':'test'})) while self.isRunning.is_set(): time.sleep(.5) @@ -263,7 +265,10 @@ class CentralManagement(): ) self.logger.info(f"Created hit: {new_hit}") - self.logger.info("https://workersandbox.mturk.com/mturk/preview?groupId=" + new_hit['HIT']['HITGroupId']) + if not self.config['for_real']: + self.logger.info("https://workersandbox.mturk.com/mturk/preview?groupId=" + new_hit['HIT']['HITGroupId']) + else: + self.logger.info("https://worker.mturk.com/mturk/preview?groupId=" + new_hit['HIT']['HITGroupId']) self.currentHit.hit_id = new_hit['HIT']['HITId'] diff --git a/www/basic_square.svg b/www/basic_square.svg new file mode 100644 index 0000000..20c8df1 --- /dev/null +++ b/www/basic_square.svg @@ -0,0 +1,58 @@ + + + + + + image/svg+xml + + + + + + + +