def getHandle(): #open database _db.open(misc.getCallableByName(settings['store']['interface'])) #create in-memory session manager SessionManager.open(inMemorySessionManager.SessionManager, 1200) oSystemUser = _db.getItem('system') context = HttpContext() context.session = SessionManager.create(oSystemUser) currentThread().context = context currentThread().trans = None return _db
def start(self): try: # read configuration file from porcupine.config.settings import settings # initialize logging log.initialize_logging() self.logger.info('Server starting...') # register request interfaces for key, value in settings['requestinterfaces'].items(): settings['requestinterfaces'][key] = \ misc.getCallableByName(value) self.logger.info('Succesfullly registered %i request interfaces' % \ len(settings['requestinterfaces'])) # register template languages for key, value in settings['templatelanguages'].items(): settings['templatelanguages'][key] = \ misc.getCallableByName(value) self.logger.info('Succesfullly registered %i template languages' % \ len(settings['templatelanguages'])) # load published directories self.logger.info('Loading published directories\' registrations...') from porcupine.config import pubdirs # open database self.logger.info('Opening database...') _db.open(misc.getCallableByName( settings['store']['interface'])) # create session manager self.logger.info('Creating session manager...') SessionManager.open(misc.getCallableByName( settings['sessionmanager']['interface']), int(settings['sessionmanager']['timeout'])) self.services['_controller'] = self # start services self.logger.info('Starting services...') services.startServices() except Exception, e: self.logger.log(logging.ERROR, e[0], *(), **{'exc_info' : True}) raise e