https://github.com/NYUCCL/psiTurk
Tip revision: 2e88e4bcf087e639d403f498b5bbccae23b0c13d authored by Dave Eargle on 01 October 2021, 04:16:32 UTC
pin ciso8601 to v2.1.3
pin ciso8601 to v2.1.3
Tip revision: 2e88e4b
services_manager.py
from __future__ import generator_stop
from psiturk.amt_services_wrapper import MTurkServicesWrapper
SESSION_SERVICES_MANAGER_MODE_KEY = 'services_manager_mode'
class PsiturkServicesManager:
_cached_amt_services_wrapper = None
@property
def amt_services_wrapper(self):
if not self._cached_amt_services_wrapper:
self._cached_amt_services_wrapper = MTurkServicesWrapper()
return self._cached_amt_services_wrapper
@property
def config(self):
return self.amt_services_wrapper.config
@property
def mode(self):
return self.amt_services_wrapper.get_mode().data
@mode.setter
def mode(self, value):
result = self.amt_services_wrapper.set_mode(value)
if not result.success:
raise Exception(result.exception)
@property
def codeversion(self):
return self.config['Task Parameters']['experiment_code_version']
@property
def amt_balance(self):
return self.amt_services_wrapper.amt_balance().data
psiturk_services_manager = PsiturkServicesManager()