Esempio n. 1
0
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()
Esempio n. 2
0
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()