• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python components.registerAdapter函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中twisted.python.components.registerAdapter函数的典型用法代码示例。如果您正苦于以下问题:Python registerAdapter函数的具体用法?Python registerAdapter怎么用?Python registerAdapter使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了registerAdapter函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: _duplicateAdapterForClassOrInterfaceAllowed

    def _duplicateAdapterForClassOrInterfaceAllowed(self, original):
        """
        Verify that when C{components.ALLOW_DUPLICATES} is set to C{True}, new
        adapter registrations for a particular from-type/interface and
        to-interface pair replace older registrations.
        """
        firstAdapter = lambda o: False
        secondAdapter = lambda o: True
        class TheInterface(Interface):
            pass
        components.registerAdapter(firstAdapter, original, TheInterface)
        components.ALLOW_DUPLICATES = True
        try:
            components.registerAdapter(secondAdapter, original, TheInterface)
            self.assertIs(
                components.getAdapterFactory(original, TheInterface, None),
                secondAdapter)
        finally:
            components.ALLOW_DUPLICATES = False

        # It should be rejected again at this point
        self.assertRaises(
            ValueError,
            components.registerAdapter,
            firstAdapter, original, TheInterface)

        self.assertIs(
            components.getAdapterFactory(original, TheInterface, None),
            secondAdapter)
开发者ID:alfonsjose,项目名称:international-orders-app,代码行数:29,代码来源:test_components.py


示例2: run

def run():
    args = PARSER.parse_args()

    # Unpack values. Each should be a list of one item (hence the
    # comma. Yay list unpacking)
    private_key, = args.private_key
    public_key, = args.public_key
    webserver_address, = args.webserver_address
    webserver_user, = args.webserver_user
    webserver_password, = args.webserver_password
    port = int(args.port)

    log.startLogging(sys.stderr)
    log.startLogging(open('gitssh.log', 'w'))

    components.registerAdapter(GitSession, GitConchUser, ISession)

    # Set up authorization
    GitServer.meta = GitMeta(webserver_address,
                             webserver_user, webserver_password)
    GitServer.portal = Portal(GitRealm(GitServer.meta))
    GitServer.portal.registerChecker(TeamPasswordChecker(GitServer.meta))

    # Instantiate a server
    server = GitServer(os.path.abspath(private_key),
                       os.path.abspath(public_key))

    # Start listening
    reactor.listenTCP(port, server)
    reactor.run()
开发者ID:michaelwisely,项目名称:gitserv,代码行数:30,代码来源:main.py


示例3: makeService

def makeService(config):
    components.registerAdapter(
        GitSession,
        GitAvatar,
        session.ISession)

    with open(config['conf']) as f:
        conf = yaml.load(f.read())

    port = int(conf.get('port', 22))
    host_key = conf.get('host_key')
    driver_key = conf.get('driver', 'example')

    log.msg('Using driver: \'%s\'' % driver_key)

    mgr = driver.DriverManager(
        namespace='gitserver.driver',
        name=driver_key,
        invoke_on_load=False
    )

    portal = Portal(GitRealm(mgr))
    portal.registerChecker(GitPublicKeyChecker(mgr))

    # factory.SSHFactory takes no arguments, so unlike the
    # websocket server, we will assign portal on the class
    # rather than through the constructor.
    # TypeError: this constructor takes no arguments
    # is raised if we pass portal GitFactory(portal)
    GitFactory.portal = portal
    GitSession.driver_key = driver_key

    return internet.TCPServer(port, GitFactory(host_key=host_key))
开发者ID:aventurella,项目名称:gitserver,代码行数:33,代码来源:server.py


示例4: start

def start():
    from checker import PublicKeyCredentialsChecker
    from factory import ForwardFactory
    from realm import ForwardRealm
    from session import ForwardSession
    from twisted.conch.ssh import session
    from twisted.cred import portal
    from twisted.internet import reactor
    from twisted.python import components, log
    from twisted.web import server
    
    import sys
    
    from user import ForwardUser
    from conf import config
    import web
    
    log.startLogging(sys.stderr)
    
    components.registerAdapter(ForwardSession, ForwardUser, session.ISession)

    portal = portal.Portal(ForwardRealm())
    portal.registerChecker(PublicKeyCredentialsChecker())
    ForwardFactory.portal = portal
    print "running server on %s:%s" % (config['SSH_INTERFACE'],config['SSH_PORT'])
    reactor.listenTCP(
                  port=config['SSH_PORT'], 
                  interface=config['SSH_INTERFACE'], 
                  factory=ForwardFactory()
        )
    reactor.listenTCP(port=config['WEB_PORT'],
                      interface=config['WEB_INTERFACE'],
                      factory=server.Site(web.MainSite()))
    reactor.run()
开发者ID:Nyophyte,项目名称:proximitymarketing,代码行数:34,代码来源:forwardserver.py


示例5: setUp

    def setUp(self):
        db = inmemory.ReadOnlyInMemoryLDAPEntry("", {})
        com = db.addChild("dc=com", {"objectClass": ["dcObject"], "dc": ["com"]})
        com.addChild("dc=example", {"objectClass": ["dcObject"], "dc": ["example"], "subschemaSubentry": ["cn=schema"]})
        db.addChild(
            "cn=schema",
            {
                "objectClass": ["TODO"],
                "cn": ["schema"],
                "attributeTypes": [test_schema.AttributeType_KnownValues.knownValues[0][0]],
                "objectClasses": [
                    test_schema.OBJECTCLASSES["organization"],
                    test_schema.OBJECTCLASSES["organizationalUnit"],
                ],
            },
        )

        class LDAPServerFactory(protocol.ServerFactory):
            protocol = ldapserver.LDAPServer

            def __init__(self, root):
                self.root = root

        components.registerAdapter(lambda x: x.root, LDAPServerFactory, interfaces.IConnectedLDAPEntry)
        serverFactory = LDAPServerFactory(db)

        self.client = ldapclient.LDAPClient()
        server = serverFactory.buildProtocol(address.IPv4Address("TCP", "localhost", "1024"))
        util.returnConnected(server, self.client)
开发者ID:foxpass,项目名称:ldaptor,代码行数:29,代码来源:test_server.py


示例6: check_config_base

def check_config_base():
    from mypkg import config, interfaces, usesconfig

    components.registerAdapter(
        AdaptRunningConfigToMyConfig, config.MyConfig, IMyConfig)

    print usesconfig.do_a_config_thing()
开发者ID:carriercomm,项目名称:dreamssh,代码行数:7,代码来源:check_configs.py


示例7: setUp

    def setUp(self):
        db = inmemory.ReadOnlyInMemoryLDAPEntry('', {})
        com = db.addChild('dc=com',
                          {'objectClass': ['dcObject'],
                           'dc': ['com'],
                           })
        com.addChild('dc=example',
                     {'objectClass': ['dcObject'],
                      'dc': ['example'],
                      'subschemaSubentry': ['cn=schema'],
                      })
        db.addChild('cn=schema',
                    {'objectClass': ['TODO'],
                     'cn': ['schema'],
                     'attributeTypes': [test_schema.AttributeType_KnownValues.knownValues[0][0]],
                     'objectClasses': [test_schema.OBJECTCLASSES['organization'],
                                       test_schema.OBJECTCLASSES['organizationalUnit'],
                                       ],
                     })

        class LDAPServerFactory(protocol.ServerFactory):
            protocol = ldapserver.LDAPServer

            def __init__(self, root):
                self.root = root

        components.registerAdapter(lambda x: x.root,
                                   LDAPServerFactory,
                                   interfaces.IConnectedLDAPEntry)
        serverFactory = LDAPServerFactory(db)

        self.client = ldapclient.LDAPClient()
        server = serverFactory.buildProtocol(address.IPv4Address('TCP', 'localhost', '1024'))
        util.returnConnected(server, self.client)
开发者ID:GrayAn,项目名称:ldaptor,代码行数:34,代码来源:test_server.py


示例8: test_basic

 def test_basic(self):
     """
     Registered adapters can be used to adapt classes to an interface.
     """
     components.registerAdapter(MetaAdder, MetaNumber, IMeta)
     n = MetaNumber(1)
     self.assertEqual(IMeta(n).add(1), 2)
开发者ID:JohnDoes95,项目名称:project_parser,代码行数:7,代码来源:test_components.py


示例9: main

def main(argv=sys.argv[1:]):
    parser = argparse.ArgumentParser()
    parser.add_argument(
        '-c',
        '--config',
        help=(
            'Path to the configuration file. If not specified then the '
            'lookup order will check for a HADOUKN_GIT_CONFIG environ '
            'variable, then fallback to .hadoukngitrc in the CWD.'
        ),
        default='hadoukngit.ini'
    )
    args = parser.parse_args(args=argv)

    cfg_path = args.config
    if cfg_path is not None and not os.path.exists(cfg_path):
        print('Invalid path "{}" specified for the config file.'
              .format(cfg_path), file=sys.stderr)
        return 1

    config = get_config(cfg_path)
    settings = config.get_dict()

    factory = SSHFactory(settings)

    # adapting User to GitSession which implements ISession
    components.registerAdapter(GitSession, User, ISession)

    port = int(settings['hadoukngit']['port'])

    # Run the server
    logger.info('Serving on localhost:%s...' % port)
    reactor.listenTCP(port, factory)
    reactor.run()
开发者ID:hadoukn,项目名称:hadoukn-git-server,代码行数:34,代码来源:__init__.py


示例10: registerCustomFieldSerializer

def registerCustomFieldSerializer(serializerClass, typeClass):
    """Register a custom field serializer for a specific type.
    """
    registerAdapter(
        serializerClass, typeClass, igwt.ICustomFieldSerializer
        )
    registerTypeClass(typeClass)
开发者ID:jrydberg,项目名称:twisted-gwt,代码行数:7,代码来源:annotation.py


示例11: _registerAdapterForClassOrInterface

 def _registerAdapterForClassOrInterface(self, original):
     adapter = lambda o: None
     class TheInterface(Interface):
         pass
     components.registerAdapter(adapter, original, TheInterface)
     self.assertIdentical(
         components.getAdapterFactory(original, TheInterface, None),
         adapter)
开发者ID:Alberto-Beralix,项目名称:Beralix,代码行数:8,代码来源:test_components.py


示例12: load

def load(S):
    for line in S.split('\n'):
        line = line.strip()
        if line and not line.startswith('#'):
            (a, o, i) = line.split()
            registerAdapter(_namedAnyWithBuiltinTranslation(a),
                            _namedAnyWithBuiltinTranslation(clean(o)),
                            _namedAnyWithBuiltinTranslation(i))
开发者ID:perkinslr,项目名称:nevow-py3,代码行数:8,代码来源:__init__.py


示例13: testComponentized

    def testComponentized(self):
        components.registerAdapter(Adept, Compo, IAdept)
        components.registerAdapter(Elapsed, Compo, IElapsed)

        c = Compo()
        assert c.getComponent(IAdept).adaptorFunc() == (1, 1)
        assert c.getComponent(IAdept).adaptorFunc() == (2, 2)
        assert IElapsed(IAdept(c)).elapsedFunc() == 1
开发者ID:alfonsjose,项目名称:international-orders-app,代码行数:8,代码来源:test_components.py


示例14: check_app_inherited

def check_app_inherited():
    from otherpkg import config

    class OtherApp(object):
        def get_config(self):
            return "config.name = 'other app'"

    components.registerAdapter(
        AdaptRunningAppToMyApp, OtherApp, IMyApp)
开发者ID:carriercomm,项目名称:dreamssh,代码行数:9,代码来源:check_configs.py


示例15: register

    def register():
        """Register this component
        """

        try:
            components.registerAdapter(MambaSQLAdapter, MySQL, IMambaSQL)
        except ValueError:
            # component already registered
            pass
开发者ID:DamnWidget,项目名称:mamba,代码行数:9,代码来源:mysql.py


示例16: registerTypeAdapter

def registerTypeAdapter(typeClass, instanceClass):
    """Associate a value class with an type.

    This enables us to lookup the type for a value by simply adopting
    it to IType.  This is mostly used for exceptions.
    """
    def adapter(original):
        return typeClass()
    registerAdapter(adapter, instanceClass, igwt.IType)
开发者ID:jrydberg,项目名称:twisted-gwt,代码行数:9,代码来源:annotation.py


示例17: __init__

 def __init__(self, cfg, tls_options, *args):
     self.debug = True
     self.tree = Tree()
     self.root = self.tree.db
     self.options = tls_options
     registerAdapter(
         lambda x: x.root,
         LdapProtocolFactory,
         IConnectedLDAPEntry)
开发者ID:spuriousdata,项目名称:slim,代码行数:9,代码来源:ldap.py


示例18: run

    def run(self, port=5022):
        components.registerAdapter(self.SSHSession, self.User, session.ISession)

        p = portal.Portal(self.SSHRealm())
        p.registerChecker(self.KeyChecker())
        self.SSHFactory.portal = p

        reactor.listenTCP(int(port), self.SSHFactory())
        reactor.run()
开发者ID:fanatic,项目名称:code,代码行数:9,代码来源:base.py


示例19: callback

 def callback(instanceClass):
     class InstanceFactory:
         def __init__(self, protocolClass):
             pass
         def buildInstance(self):
             return instanceClass()
     components.registerAdapter(InstanceFactory, typeClass, 
                                igwt.IInstanceFactory)
     annotation.registerTypeAdapter(typeClass, instanceClass)
     return instanceClass
开发者ID:jrydberg,项目名称:twisted-gwt,代码行数:10,代码来源:gwttypes.py


示例20: _multipleInterfacesForClassOrInterface

 def _multipleInterfacesForClassOrInterface(self, original):
     """
     Verify that an adapter can be registered for multiple to-interfaces at a
     time.
     """
     adapter = lambda o: None
     components.registerAdapter(adapter, original, ITest, ITest2)
     self.assertIs(
         components.getAdapterFactory(original, ITest, None), adapter)
     self.assertIs(
         components.getAdapterFactory(original, ITest2, None), adapter)
开发者ID:alfonsjose,项目名称:international-orders-app,代码行数:11,代码来源:test_components.py



注:本文中的twisted.python.components.registerAdapter函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python context.get函数代码示例发布时间:2022-05-27
下一篇:
Python components.proxyForInterface函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap