Ejemplo n.º 1
0
class Services(object):

    def __init__( self ):
        self.interface_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../common/interface'))
        self.server_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
        self.dynamic_module_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../dynamic_modules'))
        self.iface_registry = IfaceRegistry()
        self.type_registry_registry = TypeRegistryRegistry(dict(builtins=builtin_type_registry()))
        self.type_repository = TypeRepository(self.interface_dir, self.iface_registry, self.type_registry_registry)
        self.module_manager = ModuleManager(self, self.type_registry_registry)
        self.route_storage = RouteStorage(PhonyRouteRepository())
        self.resources_loader = PhonyResourcesLoader()
        self.remoting = Remoting(self.iface_registry)
        self.module_manager.register_meta_hook()
        self._load_type_modules()
        self._load_server_modules()
        self._register_transports()
        
    def _load_type_modules( self ):
        for module_name in [
                'code_repository',
                ]:
            fpath = os.path.join(self.interface_dir, module_name + TYPE_MODULE_EXT)
            self.type_repository.load_module(module_name, fpath)

    def _load_server_modules( self ):
        for module_name in [
                'client_code_repository',
                ]:
            fpath = os.path.join(self.server_dir, module_name + DYN_MODULE_EXT)
            with open(fpath) as f:
                source = f.read()
            package = 'hyperapp.server'
            module = tModule(id=module_name, package=package, deps=[], satisfies=[], source=source, fpath=fpath)
            self.module_manager.add_code_module(module)

    def _register_transports( self ):
        for module in [tcp_transport, encrypted_transport]:
            module.register_transports(self.remoting.transport_registry, self)
Ejemplo n.º 2
0
 def __init__( self ):
     self.interface_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../common/interface'))
     self.server_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
     self.dynamic_module_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../dynamic_modules'))
     self.iface_registry = IfaceRegistry()
     self.type_registry_registry = TypeRegistryRegistry(dict(builtins=builtin_type_registry()))
     self.type_repository = TypeRepository(self.interface_dir, self.iface_registry, self.type_registry_registry)
     self.module_manager = ModuleManager(self, self.type_registry_registry)
     self.route_storage = RouteStorage(PhonyRouteRepository())
     self.resources_loader = PhonyResourcesLoader()
     self.remoting = Remoting(self.iface_registry)
     self.module_manager.register_meta_hook()
     self._load_type_modules()
     self._load_server_modules()
     self._register_transports()