コード例 #1
0
class Services(object):

    def __init__( self ):
        self.interface_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../common/interface'))
        self.client_module_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
        self.iface_registry = IfaceRegistry()
        self.type_registry_registry = TypeRegistryRegistry(dict(builtins=builtin_type_registry()), self.iface_registry)
        self.type_repository = TypeRepository(self.interface_dir, self.iface_registry, self.type_registry_registry)
        self.route_storage = RouteStorage(PhonyRouteRepository())
        self.proxy_registry = ProxyRegistry()
        self.remoting = Remoting(self.route_storage, self.proxy_registry)
        self.objimpl_registry = ObjImplRegistry()
        self.view_registry = ViewRegistry(self.iface_registry, self.remoting)
        self.module_manager = ModuleManager(self)
        self.identity_repository = PhonyIdentityRepository()
        self.cache_repository = PhonyCacheRepository()
        self.resources_manager = PhonyResourcesManager()
        self.module_manager.register_meta_hook()
        self._load_type_modules()
        self._load_modules()
        self.code_repository.set_url_repository(PhonyNamedUrlRepository())
        self._register_transports()

    def _load_type_modules( self ):
        for module_name in [
                'form',
                'server_management',
                'code_repository',
                ]:
            fpath = os.path.join(self.interface_dir, module_name + TYPE_MODULE_EXT)
            self.type_repository.load_module(module_name, fpath)

    def _load_modules( self ):
        for module_name in [
                'form',
                'code_repository',
                'identity',
                ]:
            fpath = os.path.join(self.client_module_dir, module_name + DYN_MODULE_EXT)
            with open(fpath) as f:
                source = f.read()
            package = 'hyperapp.client'
            module = tModule(id=module_name, package=package, deps=[], satisfies=[], source=source, fpath=fpath)
            self.module_manager.add_code_module(module)

    def _register_transports( self ):
        tcp_transport.register_transports(self.remoting.transport_registry, self)
        encrypted_transport.register_transports(self.remoting.transport_registry, self)
コード例 #2
0
 def __init__( self ):
     self.interface_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../common/interface'))
     self.client_module_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
     self.iface_registry = IfaceRegistry()
     self.type_registry_registry = TypeRegistryRegistry(dict(builtins=builtin_type_registry()), self.iface_registry)
     self.type_repository = TypeRepository(self.interface_dir, self.iface_registry, self.type_registry_registry)
     self.route_storage = RouteStorage(PhonyRouteRepository())
     self.proxy_registry = ProxyRegistry()
     self.remoting = Remoting(self.route_storage, self.proxy_registry)
     self.objimpl_registry = ObjImplRegistry()
     self.view_registry = ViewRegistry(self.iface_registry, self.remoting)
     self.module_manager = ModuleManager(self)
     self.identity_repository = PhonyIdentityRepository()
     self.cache_repository = PhonyCacheRepository()
     self.resources_manager = PhonyResourcesManager()
     self.module_manager.register_meta_hook()
     self._load_type_modules()
     self._load_modules()
     self.code_repository.set_url_repository(PhonyNamedUrlRepository())
     self._register_transports()