#!/usr/bin/env python # encoding: utf-8 # # Copyright (c) 2008 Doug Hellmann All rights reserved. # """ """ #end_pymotw_header import datetime from network_programming.SimpleXMLRPCServer import SimpleXMLRPCServer from xmlrpclib import Binary server = SimpleXMLRPCServer(('localhost', 9000), logRequests=True, allow_none=True) server.register_introspection_functions() server.register_multicall_functions() class ExampleService: def ping(self): """Simple function to respond when called to demonstrate connectivity. """ return True def now(self): """Returns the server current date and time.""" return datetime.datetime.now()
#!/usr/bin/env python # encoding: utf-8 # # Copyright (c) 2008 Doug Hellmann All rights reserved. # """ """ __version__ = "$Id$" # end_pymotw_header import inspect import os from network_programming.SimpleXMLRPCServer import SimpleXMLRPCServer, list_public_methods server = SimpleXMLRPCServer(("localhost", 9000), logRequests=True) server.register_introspection_functions() class DirectoryService: def _listMethods(self): return list_public_methods(self) def _methodHelp(self, method): f = getattr(self, method) return inspect.getdoc(f) def list(self, dir_name): """list(dir_name) => [<filenames>] Returns a list containing the contents of
#!/usr/bin/env python # encoding: utf-8 # # Copyright (c) 2008 Doug Hellmann All rights reserved. # """ """ __version__ = "$Id$" #end_pymotw_header import inspect import os from network_programming.SimpleXMLRPCServer import SimpleXMLRPCServer server = SimpleXMLRPCServer(('localhost', 9000), logRequests=True) class ServiceRoot: pass class DirectoryService: def list(self, dir_name): return os.listdir(dir_name) root = ServiceRoot() root.dir = DirectoryService() server.register_instance(root, allow_dotted_names=True) try: print 'Use Control-C to exit'
#!/usr/bin/env python # encoding: utf-8 # # Copyright (c) 2008 Doug Hellmann All rights reserved. # """ """ __version__ = "$Id$" #end_pymotw_header import inspect import os from network_programming.SimpleXMLRPCServer import SimpleXMLRPCServer server = SimpleXMLRPCServer(('localhost', 9000), logRequests=True) def expose(f): "Decorator to set exposed flag on a function." f.exposed = True return f def is_exposed(f): "Test whether another function should be publicly exposed." return getattr(f, 'exposed', False) class MyService: PREFIX = 'prefix' def _dispatch(self, method, params): # Remove our prefix from the method name
#!/usr/bin/env python # encoding: utf-8 # # Copyright (c) 2008 Doug Hellmann All rights reserved. # """ """ __version__ = "$Id$" #end_pymotw_header import os from network_programming.SimpleXMLRPCServer import SimpleXMLRPCServer server = SimpleXMLRPCServer(('localhost', 9000), allow_none=True) server.register_function(os.listdir, 'dir.list') server.register_function(os.mkdir, 'dir.create') server.register_function(os.rmdir, 'dir.remove') try: print 'Use Control-C to exit' server.serve_forever() except KeyboardInterrupt: print 'Exiting'
#!/usr/bin/env python # encoding: utf-8 # # Copyright (c) 2008 Doug Hellmann All rights reserved. # """ """ __version__ = "$Id$" #end_pymotw_header import os from network_programming.SimpleXMLRPCServer import SimpleXMLRPCServer server = SimpleXMLRPCServer(('localhost', 9000)) # Expose a function with an alternate name def list_contents(dir_name): return os.listdir(dir_name) server.register_function(list_contents, 'dir') try: print 'Use Control-C to exit' server.serve_forever() except KeyboardInterrupt: print 'Exiting'
#!/usr/bin/env python # encoding: utf-8 # # Copyright (c) 2008 Doug Hellmann All rights reserved. # """ """ __version__ = "$Id$" #end_pymotw_header from network_programming.SimpleXMLRPCServer import SimpleXMLRPCServer server = SimpleXMLRPCServer(('localhost', 9000)) def my_function(a, b): return a * b server.register_function(my_function, 'multiply args') try: print 'Use Control-C to exit' server.serve_forever() except KeyboardInterrupt: print 'Exiting'
#!/usr/bin/env python # encoding: utf-8 # # Copyright (c) 2008 Doug Hellmann All rights reserved. # """ """ __version__ = "$Id$" # end_pymotw_header import inspect import os from network_programming.SimpleXMLRPCServer import SimpleXMLRPCServer server = SimpleXMLRPCServer(("localhost", 9000), logRequests=True) class DirectoryService: def list(self, dir_name): return os.listdir(dir_name) server.register_instance(DirectoryService()) try: print "Use Control-C to exit" server.serve_forever() except KeyboardInterrupt: print "Exiting"