本文整理汇总了Python中twisted.internet.protocol.Factory.ctx方法的典型用法代码示例。如果您正苦于以下问题:Python Factory.ctx方法的具体用法?Python Factory.ctx怎么用?Python Factory.ctx使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类twisted.internet.protocol.Factory
的用法示例。
在下文中一共展示了Factory.ctx方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: query
# 需要导入模块: from twisted.internet.protocol import Factory [as 别名]
# 或者: from twisted.internet.protocol.Factory import ctx [as 别名]
def query(ctx):
""""
Execute subcommand through UNIX domain socket client.
"""
if not ctx.opts.argv:
print("No command %s" % ctx.opts.argv[0], file=ctx.err)
return 1
address = FilePath(ctx.opts.flags.address)
factory = Factory()
factory.ctx = ctx
ctx.rs = 0
factory.protocol = QueryProtocol
factory.quiet = True
factory.cmd = ' '.join(ctx.opts.argv)
# DEBUG:
# print('Passthrough command to backend via socket: %r' % factory.cmd, file=sys.stderr)
endpoint = UNIXClientEndpoint(reactor, address.path)
connected = endpoint.connect(factory)
def succeeded(client):
return client.whenDisconnected
def failed(reason):
print("Could not connect:", reason.getErrorMessage(), file=ctx.err)
def disconnected(ignored):
reactor.stop()
connected.addCallbacks(succeeded, failed)
connected.addCallback(disconnected)
reactor.run()
return factory.ctx.rs
示例2: serve
# 需要导入模块: from twisted.internet.protocol import Factory [as 别名]
# 或者: from twisted.internet.protocol.Factory import ctx [as 别名]
def serve(ctx, handlers, prerun=prerun, postrun=postrun):
"""
Start protocol at socket address path. Handlers is a dict
of sub-command names, and corresponding functions.
See above for the two callbacks prerun and postrun.
"""
address = FilePath(ctx.opts.flags.address)
if address.exists():
raise SystemExit("Cannot listen on an existing path")
#startLogging(sys.stdout)
serverFactory = Factory()
serverFactory.ctx = ctx
serverFactory.handlers = handlers
serverFactory.prerun = prerun
serverFactory.postrun = postrun
serverFactory.protocol = ServerProtocol
port = reactor.listenUNIX(address.path, serverFactory)
reactor.run()