Package twisted :: Package web :: Module xmlrpc :: Class XMLRPC
[show private | hide private]
[frames | no frames]

Class XMLRPC

Resource --+
           |
          XMLRPC

Known Subclasses:
ZenX

A resource that implements XML-RPC.

You probably want to connect this to '/RPC2'.

Methods published can return XML-RPC serializable results, Faults, Binary, Boolean, DateTime, Deferreds, or Handler instances.

By default methods beginning with 'xmlrpc_' are published.

Sub-handlers for prefixed methods (e.g., system.listMethods) can be added with putSubHandler. By default, prefixes are separated with a '.'. Override self.separator to change this.
Method Summary
  __init__(self)
Initialize.
  getSubHandler(self, prefix)
  getSubHandlerPrefixes(self)
  putSubHandler(self, prefix, handler)
  render(self, request)
Render a given resource.
  _cbRender(self, result, request)
  _ebRender(self, failure)
  _getFunction(self, functionPath)
Given a string, return a function, or raise NoSuchFunction.
  _listFunctions(self)
Return a list of the names of all xmlrpc methods.
Inherited from Resource: delEntity, getChild, getChildForRequest, getChildWithDefault, getDynamicEntity, getStaticEntity, listDynamicEntities, listDynamicNames, listEntities, listNames, listStaticEntities, listStaticNames, putChild, reallyPutEntity, render_HEAD

Class Variable Summary
int FAILURE = 8002                                                                  
int isLeaf = 1                                                                     
int NOT_FOUND = 8001                                                                  
str separator = '.'
Inherited from Resource: __implemented__, __providedBy__, __provides__, entityType, server

Method Details

__init__(self, allowNone=False)
(Constructor)

Initialize.
Overrides:
twisted.web.resource.Resource.__init__ (inherited documentation)

render(self, request)

Render a given resource. See IResource's render method.

I delegate to methods of self with the form 'render_METHOD' where METHOD is the HTTP that was used to make the request. Examples: render_GET, render_HEAD, render_POST, and so on. Generally you should implement those methods instead of overriding this one.

render_METHOD methods are expected to return a string which will be the rendered page, unless the return value is twisted.web.server.NOT_DONE_YET, in which case it is this class's responsibility to write the results to request.write(data), then call request.finish().

Old code that overrides render() directly is likewise expected to return a string or NOT_DONE_YET.
Overrides:
twisted.web.resource.Resource.render (inherited documentation)

_getFunction(self, functionPath)

Given a string, return a function, or raise NoSuchFunction.

This returned function will be called, and should return the result of the call, a Deferred, or a Fault instance.

Override in subclasses if you want your own policy. The default policy is that given functionPath 'foo', return the method at self.xmlrpc_foo, i.e. getattr(self, "xmlrpc_" + functionPath). If functionPath contains self.separator, the sub-handler for the initial prefix is used to search for the remaining path.

_listFunctions(self)

Return a list of the names of all xmlrpc methods.

Class Variable Details

FAILURE

Type:
int
Value:
8002                                                                  

isLeaf

Type:
int
Value:
1                                                                     

NOT_FOUND

Type:
int
Value:
8001                                                                  

separator

Type:
str
Value:
'.'                                                                    

Generated by Epydoc 2.1 on Thu Aug 16 09:55:08 2007 http://epydoc.sf.net