本文整理汇总了Python中xmlrpc.server.SimpleXMLRPCServer.register_function方法的典型用法代码示例。如果您正苦于以下问题:Python SimpleXMLRPCServer.register_function方法的具体用法?Python SimpleXMLRPCServer.register_function怎么用?Python SimpleXMLRPCServer.register_function使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xmlrpc.server.SimpleXMLRPCServer
的用法示例。
在下文中一共展示了SimpleXMLRPCServer.register_function方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: xmlrpc_run
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
def xmlrpc_run(self, port=13100, bind='127.0.0.1', logRequests=False):
'''Run xmlrpc server'''
import umsgpack
try:
from xmlrpc.server import SimpleXMLRPCServer
from xmlrpc.client import Binary
except ImportError:
from SimpleXMLRPCServer import SimpleXMLRPCServer
from xmlrpclib import Binary
logger.info("bloomfilter starting...")
server = SimpleXMLRPCServer((bind, port), allow_none=True, logRequests=logRequests)
server.register_introspection_functions()
server.register_multicall_functions()
server.register_function(self.quit, '_quit')
server.register_function(self.add, 'add')
server.timeout = 0.5
while not self._quit:
server.handle_request()
logger.info("bloomfilter exiting...")
server.server_close()
示例2: main
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
def main():
# Parse CLI options
import argparse
cli_parser = argparse.ArgumentParser(
description="XML-RPC server for filtering recommendations."
)
# Add verbosity option
cli_parser.add_argument('-v', '--verbose', action='store_true',
help='Be more verbose')
args = cli_parser.parse_args()
if args.verbose:
logging.basicConfig(level=logging.INFO)
filterServer = RecFilter()
server = SimpleXMLRPCServer(
(config.filter_server_hostname, config.filter_server_hostport),
allow_none=True)
server.register_introspection_functions()
server.register_function(filterServer.getRecs, 'getrecs')
print("Filter-server is running...")
# Run the server's main loop
server.serve_forever()
示例3: SchedServer
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
class SchedServer(object):
def __init__(self, ip="localhost", port=8000):
self.sched = scheduler.Scheduler()
self.server = SimpleXMLRPCServer((ip, port), requestHandler=RequestHandler)
self.server.register_introspection_functions()
self.serving = 0
self.server.register_function(self.push)
self.server.register_function(self.shutdown)
self.sched.run()
self.server.serve_forever()
def push(self, username, policy_number, code):
user_id = db_session.query(User.id).filter(User.username == username).one()[0]
db_task = Task(user_id, policy_number)
t = task.Task(program.Program(code), username, 3, 1000)
index = self.sched.add(t)
if index == -1:
print("Shutting down")
return -1
db_session.add(db_task)
db_session.commit()
ret_val = self.sched.get(index)
while ret_val is None:
ret_val = self.sched.get(index)
sleep(0.2)
return ret_val
def shutdown(self):
self.sched.join()
示例4: __init__
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
class KeyValueServer:
_rpc_methods_ = ['get', 'set', 'delete', 'exists', 'keys']
def __init__(self, address):
self._data = {}
self._serv = SimpleXMLRPCServer(address, allow_none=True)
for name in self._rpc_methods_:
self._serv.register_function(getattr(self, name))
def get(self, name):
return self._data[name]
def set(self, name, value):
self._data[name] = value
def delete(self, name):
del self._data[name]
def exists(self, name):
return name in self._data
def keys(self):
return list(self._data)
def serve_forever(self):
self._serv.serve_forever()
示例5: __init__
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
class Server:
def __init__(self, address):
self._rpc_methods_ = ['get', 'put', 'put_back', 'tick', 'keys']
self._data = {}
self._serv = SimpleXMLRPCServer(address, allow_none=True)
for name in self._rpc_methods_:
self._serv.register_function(getattr(self, name))
def get(self, key):
return self._data[key]
def put(self, key, value):
self._data[key] = value
def put_back(self, key, value):
pass
def tick(self):
pass
def keys(self):
return list(self._data)
def serve_forever(self):
self._serv.serve_forever()
示例6: __init__
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
class KeyValueServer:
_rpc_methods = ["get", "set", "exists", "delete", "keys"]
def __init__(self, address):
self._data = {}
self._serv = SimpleXMLRPCServer(address, allow_none=True)
for method in self._rpc_methods:
self._serv.register_function(getattr(self, method), method)
def get(self, name):
return self._data["name"]
def set(self, name, value):
self._data["name"] = value
def exists(self, name):
return name in self._data
def delete(self, name):
del self._data["name"]
def keys(self):
# dict_keys is not supported
return list(self._data.keys())
def serve_forever(self):
self._serv.serve_forever()
示例7: rpcserver
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
def rpcserver():
server = SimpleXMLRPCServer(('localhost', 8000), requestHandler=TestRequestHandler)
server.register_introspection_functions()
server.register_function(pow)
server.register_function(adder_func, 'add')
server.register_instance(TestRPCClass())
server.serve_forever()
示例8: buildServer
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
def buildServer():
"""build an XMLRPC Server and serve forever \
waiting for problem to submit.
"""
global config
server = SimpleXMLRPCServer((config.get("XMLRPCServer","host"), \
config.getint("XMLRPCServer","port")))
server.register_function(receive, "send")
server.serve_forever()
示例9: test_exposeFunction2
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
def test_exposeFunction2(self):
"""Expose a function using a different name via XML-RPC."""
server = SimpleXMLRPCServer((HOST, PORT + 2))
server.register_function(multiply, "mult")
ServerThread(server).start()
# Access the exposed service.
client = xmlrpc.client.ServerProxy("http://%s:%d" % (HOST, PORT + 2))
self.assertEqual(client.mult(7, 11), 77)
示例10: main
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
def main():
server = SimpleXMLRPCServer(("localhost", PORT))
print("We've got a connection and are listening on port {}...huzzah".format(PORT))
# 注册函数,这样它可以被即将创建的客户端代码使用
server.register_function(square, "square")
# 启动服务器
server.serve_forever()
示例11: test_exposeFunction1
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
def test_exposeFunction1(self):
"""Expose a function via XML-RPC."""
server = SimpleXMLRPCServer((HOST, PORT + 1))
server.register_function(multiply)
ServerThread(server).start()
# Access the exposed service.
client = xmlrpc.client.ServerProxy("http://%s:%d" % (HOST, PORT + 1))
self.assertEqual(client.multiply(5, 10), 50)
示例12: test_exposeLambda
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
def test_exposeLambda(self):
"""Expose a lambda function via XML-RPC."""
# Create a server instance.
server = SimpleXMLRPCServer((HOST, PORT))
server.register_function(lambda x, y: x+y, 'add')
ServerThread(server).start()
# Access the exposed service.
client = xmlrpc.client.ServerProxy("http://%s:%d" % (HOST, PORT))
self.assertEqual(client.add(10, 20), 30)
示例13: start_xmlrpc
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
def start_xmlrpc(bindaddr):
from xmlrpc.server import (SimpleXMLRPCServer,
SimpleXMLRPCRequestHandler)
class handler(SimpleXMLRPCRequestHandler):
rpc_paths = ('/motionwol',)
addr, port = bindaddr.split(':') #long live IPv4
server = SimpleXMLRPCServer((addr, int(port)), allow_none=True, requestHandler=handler)
server.register_introspection_functions()
server.register_function(disable_rules, 'disable')
server.register_function(enable_rules, 'enable')
XmlRpcDispatch(server.fileno()).server = server
示例14: __init__
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
class RPCServer:
def __init__(self, addr, port, peer):
self.peer = peer
self._server = SimpleXMLRPCServer((addr, port))
self._server.register_function(self.peer.append_entry, "append_entry")
self._server.register_function(self.peer.request_vote, "request_vote")
def start(self):
server_thread = threading.Thread(target=self._server.serve_forever)
server_thread.daemn = True
server_thread.start()
def close(self):
self._server.shutdown()
self._server.server_close()
示例15: start_server
# 需要导入模块: from xmlrpc.server import SimpleXMLRPCServer [as 别名]
# 或者: from xmlrpc.server.SimpleXMLRPCServer import register_function [as 别名]
def start_server():
print('Intializing NLP engine... (this may take a while)')
nlp.init()
print('Starting HTTP server at <http://localhost:{port}>.'.format(port=PORT))
if not fork_and_daemonize():
exit(0)
server = SimpleXMLRPCServer(('localhost', PORT), allow_none=True)
server.register_function(ping)
server.register_function(query)
try:
server.serve_forever()
except:
server.server_close()