def __init__(self, options=None): """Mamba constructor""" super(Mamba, self).__init__() if hasattr(self, 'initialized') and self.initialized is True: return self.monkey_patched = False self.development = False self.already_logging = False self._mamba_ver = _mamba_version.version.short() self._ver = _app_ver.short() self._port = 1936 self._log_file = None self._project_ver = _app_project_ver.short() self.name = 'Mamba Webservice v%s' % _mamba_version.version.short() self.description = ( 'Mamba %s is a Web applications framework that works ' 'over Twisted using Jinja2 as GUI enhancement ' 'Mamba has been developed by Oscar Campos ' '<*****@*****.**>' % _mamba_version.version.short() ) self.language = os.environ.get('LANG', 'en_EN').split('_')[0] self.lessjs = False self._parse_options(options) # monkey patch twisted self._monkey_patch() # register log file if any self._handle_logging() # PyPy does not implement set_debug method in gc object if getattr(options, 'debug', False): if hasattr(gc, 'set_debug'): gc.set_debug(gc.DEBUG_STATS | gc.DEBUG_INSTANCES) else: log.msg( 'Debug is set as True but gc object is laking ' 'set_debug method' ) self._header = headers.Headers() self._header.language = self.language self._header.description = self.description self.managers = { 'controller': controller.ControllerManager(), 'model': model.ModelManager() } self.initialized = True
def test_page_register_container_dont_register_contained_into_root(self): mgr = controller.ControllerManager() if GNU_LINUX: self.addCleanup(mgr.notifier.loseConnection) sys.path.append('../mamba/test/dummy_app') mgr.load('../mamba/test/dummy_app/application/controller/container.py') mgr.load('../mamba/test/dummy_app/application/controller/contained.py') self.root._controllers_manager = mgr self.root.register_controllers() self.assertTrue('contained' not in self.root.children)
def test_page_register_controllers(self): mgr = controller.ControllerManager() if GNU_LINUX: self.addCleanup(mgr.notifier.loseConnection) sys.path.append('../mamba/test/dummy_app') mgr.load('../mamba/test/dummy_app/application/controller/dummy.py') self.root._controllers_manager = mgr self.root.register_controllers() self.assertIdentical( self.root.getChildWithDefault('dummy', DummyRequest([''])), mgr.lookup('dummy')['object'])
def test_constructor_overwrites_module_store(self): mgr = controller.ControllerManager('overwritten/store') if GNU_LINUX: self.addCleanup(mgr.notifier.loseConnection) self.assertEqual(mgr._module_store, 'overwritten/store')
def setUp(self): self.mgr = controller.ControllerManager() if GNU_LINUX: self.addCleanup(self.mgr.notifier.loseConnection)