twisted.web.resource.Resource.html   [plain text]


<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>twisted.web.resource.Resource</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">

<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="twisted.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted&nbsp;1.3.0rc1</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <font size="-1"><b class="breadcrumbs">
        <a href="twisted.html">Package&nbsp;twisted</a> ::
        <a href="twisted.web.html">Package&nbsp;web</a> ::
        <a href="twisted.web.resource.html">Module&nbsp;resource</a> ::
        Class&nbsp;Resource
      </b></font></br>
    </td>
    <td><table cellpadding="0" cellspacing="0">
      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="twisted.web.resource.Resource.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
    </table></td>
</tr></table>

<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Resource</h2>

<dl><dt><b>Known Subclasses:</b></dt>
<dd>
    <a href="twisted.web.vhost._HostResource.html"><code>_HostResource</code></a>,
    <a href="twisted.web.static.ASISProcessor.html"><code>ASISProcessor</code></a>,
    <a href="twisted.web.woven.controller.BlankPage.html"><code>BlankPage</code></a>,
    <a href="twisted.web.twcgi.CGIDirectory.html"><code>CGIDirectory</code></a>,
    <a href="twisted.web.twcgi.CGIScript.html"><code>CGIScript</code></a>,
    <a href="twisted.web.woven.controller.Controller.html"><code>Controller</code></a>,
    <a href="twisted.web.static.Data.html"><code>Data</code></a>,
    <a href="twisted.web.util.DeferredResource.html"><code>DeferredResource</code></a>,
    <a href="twisted.web.woven.template.DOMController.html"><code>DOMController</code></a>,
    <a href="twisted.web.woven.template.DOMTemplate.html"><code>DOMTemplate</code></a>,
    <a href="twisted.web.error.ErrorPage.html"><code>ErrorPage</code></a>,
    <a href="twisted.web.static.File.html"><code>File</code></a>,
    <a href="twisted.web.woven.form.FormProcessor.html"><code>FormProcessor</code></a>,
    <a href="twisted.web.widgets.Gadget.html"><code>Gadget</code></a>,
    <a href="twisted.web.woven.tapestry.ModelLoader.html"><code>ModelLoader</code></a>,
    <a href="twisted.web.vhost.NameVirtualHost.html"><code>NameVirtualHost</code></a>,
    <a href="twisted.web.widgets.Page.html"><code>Page</code></a>,
    <a href="twisted.web.util.ParentRedirect.html"><code>ParentRedirect</code></a>,
    <a href="twisted.web.woven.guard.PerspectiveWrapper.html"><code>PerspectiveWrapper</code></a>,
    <a href="twisted.web.script.PythonScript.html"><code>PythonScript</code></a>,
    <a href="twisted.web.static.Redirect.html"><code>Redirect</code></a>,
    <a href="twisted.web.util.Redirect.html"><code>Redirect</code></a>,
    <a href="twisted.flow.web.Resource.html"><code>Resource</code></a>,
    <a href="twisted.web.guard.ResourceGuard.html"><code>ResourceGuard</code></a>,
    <a href="twisted.web.script.ResourceScriptDirectory.html"><code>ResourceScriptDirectory</code></a>,
    <a href="twisted.web.script.ResourceScriptWrapper.html"><code>ResourceScriptWrapper</code></a>,
    <a href="twisted.web.distrib.ResourceSubscription.html"><code>ResourceSubscription</code></a>,
    <a href="twisted.web.proxy.ReverseProxyResource.html"><code>ReverseProxyResource</code></a>,
    <a href="twisted.web.rewrite.RewriterResource.html"><code>RewriterResource</code></a>,
    <a href="twisted.web.woven.guard.SessionWrapper.html"><code>SessionWrapper</code></a>,
    <a href="twisted.web.soap.SOAPPublisher.html"><code>SOAPPublisher</code></a>,
    <a href="twisted.web.woven.tapestry.Tapestry.html"><code>Tapestry</code></a>,
    <a href="twisted.web.woven.guard.UsernamePasswordWrapper.html"><code>UsernamePasswordWrapper</code></a>,
    <a href="twisted.web.vhost.VHostMonsterResource.html"><code>VHostMonsterResource</code></a>,
    <a href="twisted.web.widgets.WidgetResource.html"><code>WidgetResource</code></a>,
    <a href="twisted.web.xmlrpc.XMLRPC.html"><code>XMLRPC</code></a></dd></dl>

<hr/>

<p>I define a web-accessible resource.</p>
I serve 2 main purposes; one is to provide a standard representation 
for what HTTP specification calls an 'entity', and the other is to 
provide an abstract directory structure for URL retrieval.
<hr/>


<!-- =========== START OF METHOD SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Method Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.web.resource.Resource.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Initialize.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="delEntity"></a><span class="summary-sig"><span class="summary-sig-name">delEntity</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>name</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.web.resource.Resource.html#getChild" class="summary-sig-name"><code>getChild</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>path</span>,
          <span class=summary-sig-arg>request</span>)</span></code>
<br />
Retrieve a 'child' resource from me.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="getChildForRequest"></a><span class="summary-sig"><span class="summary-sig-name">getChildForRequest</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>request</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.web.resource.Resource.html#getChildWithDefault" class="summary-sig-name"><code>getChildWithDefault</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>path</span>,
          <span class=summary-sig-arg>request</span>)</span></code>
<br />
Retrieve a static or dynamically generated child resource from me.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="getDynamicEntity"></a><span class="summary-sig"><span class="summary-sig-name">getDynamicEntity</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>name</span>,
          <span class=summary-sig-arg>request</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="getStaticEntity"></a><span class="summary-sig"><span class="summary-sig-name">getStaticEntity</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>name</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="listDynamicEntities"></a><span class="summary-sig"><span class="summary-sig-name">listDynamicEntities</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>request</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="listDynamicNames"></a><span class="summary-sig"><span class="summary-sig-name">listDynamicNames</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="listEntities"></a><span class="summary-sig"><span class="summary-sig-name">listEntities</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="listNames"></a><span class="summary-sig"><span class="summary-sig-name">listNames</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="listStaticEntities"></a><span class="summary-sig"><span class="summary-sig-name">listStaticEntities</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="listStaticNames"></a><span class="summary-sig"><span class="summary-sig-name">listStaticNames</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.web.resource.Resource.html#putChild" class="summary-sig-name"><code>putChild</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>path</span>,
          <span class=summary-sig-arg>child</span>)</span></code>
<br />
Register a static child.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="reallyPutEntity"></a><span class="summary-sig"><span class="summary-sig-name">reallyPutEntity</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>name</span>,
          <span class=summary-sig-arg>entity</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.web.resource.Resource.html#render" class="summary-sig-name"><code>render</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>request</span>)</span></code>
<br />
Render a given resource.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.web.resource.Resource.html#render_HEAD" class="summary-sig-name"><code>render_HEAD</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>request</span>)</span></code>
<br />
Default handling of HEAD method.</td></tr>
</table><br />


<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>tuple</code></font></td>
<td><b><a href="twisted.web.resource.Resource.html#__implements__"><code>__implements__</code></a></b> = <span title="(&lt;class twisted.web.resource.IResource at 0x8450e44&gt;,)"><code>(&lt;class&nbsp;twisted.web.resource.IResource&nbsp;<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>class</code></font></td>
  <td><a name="entityType"></a><b><code>entityType</code></b> = <a href="twisted.web.resource.IResource.html"><code>twisted.web.resource.IResource</code></a></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.web.resource.Resource.html#isLeaf"><code>isLeaf</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="twisted.web.resource.Resource.html#server"><code>server</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
</table><br />


<!-- =========== START OF METHOD DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Method Details</th></tr>
</table>

<a name="__init__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>)</span>
    <br /><i>(Constructor)</i>
  </h3>
  Initialize.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="getChild"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">getChild</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>path</span>,
          <span class=sig-arg>request</span>)</span>
  </h3>
  <p>Retrieve a 'child' resource from me.</p>
  <p>Implement this to create dynamic resource generation -- resources 
  which are always available may be registered with self.putChild().</p>
  <p>This will not be called if the class-level variable 'isLeaf' is set 
  in your subclass; instead, the 'postpath' attribute of the request will 
  be left as a list of the remaining path elements.</p>
  For example, the URL /foo/bar/baz will normally be:
<pre class="literalblock">
 | site.resource.getChild('foo').getChild('bar').getChild('baz').
</pre>
  However, if the resource returned by 'bar' has isLeaf set to true, 
  then the getChild call will never be made on it.
  <dl><dt></dt><dd>
    <dl><dt><b>Parameters:</b></dt>
      <dd><code><b>path</b></code> -
         a string, describing the child
      <dd><code><b>request</b></code> -
         a twisted.web.server.Request specifying meta-information about 
        the request that is being made for this child.
      </dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="getChildWithDefault"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">getChildWithDefault</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>path</span>,
          <span class=sig-arg>request</span>)</span>
  </h3>
  <p>Retrieve a static or dynamically generated child resource from 
  me.</p>
  <p>First checks if a resource was added manually by putChild, and then 
  call getChild to check for dynamic resources. Only override if you want 
  to affect behaviour of all child lookups, rather than just dynamic 
  ones.</p>
  This will check to see if I have a pre-registered child resource of 
  the given name, and call getChild if I do not.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="putChild"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">putChild</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>path</span>,
          <span class=sig-arg>child</span>)</span>
  </h3>
  <p>Register a static child.</p>
  You almost certainly don't want '/' in your path. If you intended to 
  have the root of a folder, e.g. /foo/, you want path to be ''.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="render"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">render</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>request</span>)</span>
  </h3>
  <p>Render a given resource. See <a 
  href="twisted.web.resource.IResource.html" 
  class="link"><code>IResource</code></a>'s render method.</p>
  <p>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.</p>
  <p>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().</p>
  Old code that overrides render() directly is likewise expected to 
  return a string or NOT_DONE_YET.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="render_HEAD"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">render_HEAD</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>request</span>)</span>
  </h3>
  <p>Default handling of HEAD method.</p>
  I just return self.render_GET(request). When method is HEAD, the 
  framework will handle this correctly.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>
<br />


<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="__implements__"></a>
<h3>__implements__</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>tuple</code>

      </dd>
<span title="(&lt;class twisted.web.resource.IResource at 0x8450e44&gt;,)">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
(&lt;class twisted.web.resource.IResource at 0x8450e44&gt;,)                 </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="isLeaf"></a>
<h3>isLeaf</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="0">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="server"></a>
<h3>server</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>NoneType</code>

      </dd>
<span title="None">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<br />


<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="twisted.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted&nbsp;1.3.0rc1</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td align="left"><font size="-2">Generated by Epydoc 2.0 on Sat May 15 20:08:31 2004</font></td>
    <td align="right"><a href="http://epydoc.sourceforge.net"
                      ><font size="-2">http://epydoc.sf.net</font></a></td>
  </tr>
</table>
</body>
</html>