def _before_returning_wait_page(self): session_configs = get_session_configs_dict() try: session_config = session_configs[self.session_config_name] except KeyError: msg = ( "Session type '{}' not found" ).format(self.session_config_name) raise Http404(msg) # check that it divides evenly # need to check here so that the user knows upfront session_lcm = otree.session.get_lcm(session_config) num_participants = session_config['num_demo_participants'] if num_participants % session_lcm: msg = ( 'Session Config {}: Number of participants ({}) does not ' 'divide evenly into group size ({})' ).format( self.session_config_name, num_participants, session_lcm ) raise Http404(msg) t = threading.Thread( target=ensure_enough_spare_sessions, args=(self.session_config_name,) ) t.start()
def build_suite(self, session_names, extra_tests, preserve_data, **kwargs): suite = self.test_suite() if not session_names: session_names = sorted(session.get_session_configs_dict().keys()) for session_name in session_names: case = OTreeExperimentFunctionTest(session_name, preserve_data) suite.addTest(case)
def build_suite(self, session_names, extra_tests, preserve_data, **kwargs): suite = self.test_suite() if not session_names: session_names = sorted(session.get_session_configs_dict().keys()) for session_name in session_names: case = OTreeExperimentFunctionTest(session_name, preserve_data) suite.addTest(case) return suite
def session_description_dict(session): context_data = { 'display_name': session.config['display_name'], } session_config = get_session_configs_dict()[session.config['name']] context_data.update(info_about_session_config(session_config)) return context_data
def session_description_dict(session): context_data = { 'display_name': session.config['display_name'], } session_config = get_session_configs_dict( )[session.config['name']] context_data.update(info_about_session_config(session_config)) return context_data
def _before_returning_wait_page(self): session_configs = get_session_configs_dict() try: session_config = session_configs[self.session_config_name] except KeyError: msg = ("Session type '{}' not found").format( self.session_config_name) raise Http404(msg) # check that it divides evenly # need to check here so that the user knows upfront session_lcm = otree.session.get_lcm(session_config) num_participants = session_config['num_demo_participants'] if num_participants % session_lcm: msg = ('Session Config {}: Number of participants ({}) does not ' 'divide evenly into group size ({})').format( self.session_config_name, num_participants, session_lcm) raise Http404(msg) t = threading.Thread(target=ensure_enough_spare_sessions, args=(self.session_config_name, )) t.start()
def dispatch(self, request, *args, **kwargs): session_config_name = urllib.unquote_plus(kwargs.pop('session_config')) self.session_config = get_session_configs_dict()[session_config_name] self.for_mturk = (int(self.request.GET.get('mturk', 0)) == 1) return super(CreateSession, self).dispatch(request, *args, **kwargs)