Esempio n. 1
0
    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
Esempio n. 2
0
    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)
Esempio n. 3
0
    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'])
Esempio n. 4
0
 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')
Esempio n. 5
0
    def setUp(self):
        self.mgr = controller.ControllerManager()

        if GNU_LINUX:
            self.addCleanup(self.mgr.notifier.loseConnection)