本文整理汇总了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;未经允许,请勿转载。 |
请发表评论