def main(port=DEFAULT_PORT, stale_window=DEFAULT_STALE_WINDOW, offline=False): if offline: settings.ALLOW_CROSS_ORIGIN = True settings.PERSIST_SESSIONS = False ext_mod = settings.EXTENSION_MODULES xformplayer._init() gw = XFormHTTPGateway(port, stale_window, ext_mod) gw.start() logger.info("started server on port %d" % port) purger = Purger(purge_freq=5.0) purger.start() logger.info("purging sessions inactive for more than %s hours" % stale_window) if settings.HACKS_MODE: logger.info("hacks mode is enabled, and you should feel bad about that") try: while True: time.sleep(0.01) # yield thread except KeyboardInterrupt: purger.terminate() # note: the keyboardinterrupt event doesn't seem to be triggered in # jython, nor does jython2.5 support the httpserver 'shutdown' method logger.info("interrupted; shutting down...") gw.terminate()
def main(port=DEFAULT_PORT, stale_window=DEFAULT_STALE_WINDOW, offline=False): if offline: settings.ALLOW_CROSS_ORIGIN = True settings.PERSIST_SESSIONS = False ext_mod = settings.EXTENSION_MODULES xformplayer._init() gw = XFormHTTPGateway(port, stale_window, ext_mod) gw.start() logger.info('started server on port %d' % port) purger = Purger(purge_freq=5.) purger.start() logger.info('purging sessions inactive for more than %s hours' % stale_window) if settings.HACKS_MODE: logger.info('hacks mode is enabled, and you should feel bad about that') try: while True: time.sleep(.01) #yield thread except KeyboardInterrupt: purger.terminate() #note: the keyboardinterrupt event doesn't seem to be triggered in #jython, nor does jython2.5 support the httpserver 'shutdown' method logger.info('interrupted; shutting down...') gw.terminate()
def setUp(self): try: f = open( os.path.join(CUR_DIR, 'test_files/xforms/xform_simple_cases.xml'), 'r') self.xform = f.read() except IOError: self.fail('Could not read test form') self.session_data = { 'session_name': 'Village Healthe > Simple Form', 'app_version': '2.0', 'device_id': 'cloudcare', 'user_id': '51cd680c0bd1c21bb5e63dab99748248', 'additional_filters': { 'footprint': True }, 'domain': 'aspace', 'host': 'http://localhost:8000', 'user_data': {}, 'case_id_new_RegCase_0': '1c2e7c76f0c84eaea5b44bc7d1d3caf0', 'app_id': '6a48b8838d06febeeabb28c8c9516ab6', 'username': '******' } self.case = { 'case_id': 'legolas', 'properties': { 'case_type': 'dragon', 'case_name': 'rocky', 'date_opened': None, 'owner_id': 'ben-123', }, 'closed': False, 'indices': {}, 'attachments': {}, } self.session_metadata = { 'extensions': [], 'session_data': self.session_data, 'nav_mode': 'fao', 'api_auth': {}, 'staleness_window': 1, 'form_context': { 'all_case_ids': ['legolas', 'sauron'], 'case_model': self.case } } xformplayer._init() self.manager = xformplayer.GlobalStateManager.get_globalstate()
def setUp(self): try: f = open(os.path.join(CUR_DIR, 'test_files/xforms/xform_simple_cases.xml'), 'r') self.xform = f.read() except IOError: self.fail('Could not read test form') self.session_data = { 'session_name': 'Village Healthe > Simple Form', 'app_version': '2.0', 'device_id': 'cloudcare', 'user_id': '51cd680c0bd1c21bb5e63dab99748248', 'additional_filters': {'footprint': True}, 'domain': 'aspace', 'host': 'http://localhost:8000', 'user_data': {}, 'case_id_new_RegCase_0': '1c2e7c76f0c84eaea5b44bc7d1d3caf0', 'app_id': '6a48b8838d06febeeabb28c8c9516ab6', 'username': '******' } self.case = { 'case_id': 'legolas', 'properties': { 'case_type': 'dragon', 'case_name': 'rocky', 'date_opened': None, 'owner_id': 'ben-123', }, 'closed': False, 'indices': {}, 'attachments': {}, } self.session_metadata = { 'extensions': [], 'session_data': self.session_data, 'nav_mode': 'fao', 'api_auth': {}, 'staleness_window': 1, 'form_context': { 'all_case_ids': ['legolas', 'sauron'], 'case_model': self.case } } xformplayer._init() self.manager = xformplayer.GlobalStateManager.get_globalstate()