Files
i2p.android.base/apps/sam/python/doc/epydoc/html/private/rfc822.Message-class.html
2004-08-02 14:00:56 +00:00

526 lines
26 KiB
HTML

<?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>rfc822.Message</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="i2p-module.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" width="100%"></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<font size="-1"><b class="breadcrumbs">
Module&nbsp;rfc822 ::
Class&nbsp;Message
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/rfc822.Message-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="rfc822.Message-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Message</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="mimetools.Message-class.html"><code>Message</code></a></dd></dl>
<hr/>
Represents a single RFC 2822-compliant message.
<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="rfc822.Message-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>fp</span>,
<span class=summary-sig-arg>seekable</span>)</span></code>
<br />
Initialize the class instance and read the headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__contains__" class="summary-sig-name"><code>__contains__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Determine whether a message contains the named header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__delitem__" class="summary-sig-name"><code>__delitem__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Delete all occurrences of a specific header, if it is present.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get a specific header, as from a dictionary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the number of headers in a message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__setitem__" class="summary-sig-name"><code>__setitem__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Set the value of a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="__str__"></a><span class="summary-sig"><span class="summary-sig-name">__str__</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="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>get</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>default</span>)</span></code>
<br />
Get the header value for a name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddr" class="summary-sig-name"><code>getaddr</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get a single address from a header, as a tuple.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddrlist" class="summary-sig-name"><code>getaddrlist</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get a list of addresses from a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getallmatchingheaders" class="summary-sig-name"><code>getallmatchingheaders</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Find all header lines matching a given header name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate" class="summary-sig-name"><code>getdate</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Retrieve a date field from a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate_tz" class="summary-sig-name"><code>getdate_tz</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Retrieve a date field from a header as a 10-tuple.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getfirstmatchingheader" class="summary-sig-name"><code>getfirstmatchingheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get the first header line matching name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>getheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>default</span>)</span></code>
<br />
Get the header value for a name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheaders" class="summary-sig-name"><code>getheaders</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get all values for a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getrawheader" class="summary-sig-name"><code>getrawheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
A higher-level interface to getfirstmatchingheader().</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#has_key" class="summary-sig-name"><code>has_key</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Determine whether a message contains the named header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#iscomment" class="summary-sig-name"><code>iscomment</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Determine whether a line should be skipped entirely.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#isheader" class="summary-sig-name"><code>isheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Determine whether a given line is a legal header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#islast" class="summary-sig-name"><code>islast</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Determine whether a line is a legal end of RFC 2822 headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#items" class="summary-sig-name"><code>items</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get all of a message's headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#keys" class="summary-sig-name"><code>keys</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get all of a message's header field names.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#readheaders" class="summary-sig-name"><code>readheaders</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Read header lines.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#rewindbody" class="summary-sig-name"><code>rewindbody</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Rewind the file to the start of the body (if seekable).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="setdefault"></a><span class="summary-sig"><span class="summary-sig-name">setdefault</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>default</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="rfc822.Message-class.html#values" class="summary-sig-name"><code>values</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get all of a message's header field values.</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 class=sig-arg>fp</span>,
<span class=sig-arg>seekable</span>=<span class=sig-default>1</span>)</span>
<br /><i>(Constructor)</i>
</h3>
Initialize the class instance and read the headers.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__contains__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__contains__</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
<br /><i>(In operator)</i>
</h3>
Determine whether a message contains the named header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__delitem__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__delitem__</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
<br /><i>(Index deletion operator)</i>
</h3>
Delete all occurrences of a specific header, if it is present.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__getitem__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__getitem__</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
<br /><i>(Indexing operator)</i>
</h3>
Get a specific header, as from a dictionary.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__len__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
<br /><i>(Length operator)</i>
</h3>
Get the number of headers in a message.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__setitem__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__setitem__</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>,
<span class=sig-arg>value</span>)</span>
<br /><i>(Index assignment operator)</i>
</h3>
<p>Set the value of a header.</p>
Note: This is not a perfect inversion of __getitem__, because any
changed headers get stuck at the end of the raw-headers list rather
than where the altered header was.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getheader"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">get</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>,
<span class=sig-arg>default</span>=<span class=sig-default>None</span>)</span>
</h3>
<p>Get the header value for a name.</p>
This is the normal interface: it returns a stripped version of the
header value for a given header name, or None if it doesn't exist. This
uses the dictionary version which finds the *last* such header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getaddr"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getaddr</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Get a single address from a header, as a tuple.</p>
An example return value: ('Guido van Rossum',
'guido&#64;cwi.nl')
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getaddrlist"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getaddrlist</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Get a list of addresses from a header.</p>
Retrieves a list of addresses from a header, where each address is a
tuple as returned by getaddr(). Scans all named headers, so it works
properly with multiple To: or Cc: headers for example.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getallmatchingheaders"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getallmatchingheaders</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Find all header lines matching a given header name.</p>
Look through the list of headers and find all lines matching a given
header name (and their continuation lines). A list of the lines is
returned, without interpretation. If the header does not occur, an
empty list is returned. If the header occurs multiple times, all
occurrences are returned. Case is not important in the header name.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getdate"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getdate</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Retrieve a date field from a header.</p>
Retrieves a date field from the named header, returning a tuple
compatible with time.mktime().
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getdate_tz"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getdate_tz</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Retrieve a date field from a header as a 10-tuple.</p>
The first 9 elements make up a tuple compatible with time.mktime(),
and the 10th is the offset of the poster's time zone from GMT/UTC.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getfirstmatchingheader"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getfirstmatchingheader</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Get the first header line matching name.</p>
This is similar to getallmatchingheaders, but it returns only the
first matching header (and its continuation lines).
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getheader"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getheader</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>,
<span class=sig-arg>default</span>=<span class=sig-default>None</span>)</span>
</h3>
<p>Get the header value for a name.</p>
This is the normal interface: it returns a stripped version of the
header value for a given header name, or None if it doesn't exist. This
uses the dictionary version which finds the *last* such header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getheaders"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getheaders</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Get all values for a header.</p>
This returns a list of values for headers given more than once; each
value in the result list is stripped in the same way as the result of
getheader(). If the header is not given, return an empty list.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getrawheader"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getrawheader</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>A higher-level interface to getfirstmatchingheader().</p>
Return a string containing the literal text of the header but with
the keyword stripped. All leading, trailing and embedded whitespace is
kept in the string, however. Return None if the header does not
occur.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="has_key"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">has_key</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
Determine whether a message contains the named header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="iscomment"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">iscomment</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>line</span>)</span>
</h3>
<p>Determine whether a line should be skipped entirely.</p>
You may override this method in order to use Message parsing on
tagged data in RFC 2822-like formats that support embedded comments or
free-text data.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="isheader"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">isheader</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>line</span>)</span>
</h3>
<p>Determine whether a given line is a legal header.</p>
This method should return the header name, suitably canonicalized.
You may override this method in order to use Message parsing on tagged
data in RFC 2822-like formats with special header formats.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="islast"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">islast</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>line</span>)</span>
</h3>
<pre class="literalblock">
Determine whether a line is a legal end of RFC 2822 headers.
You may override this method if your application wants to bend the
rules, e.g. to strip trailing whitespace, or to recognize MH template
separators ('--------'). For convenience (e.g. for code reading from
sockets) a line consisting of
also matches.
</pre>
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="items"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">items</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Get all of a message's headers.</p>
Returns a list of name, value tuples.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="keys"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">keys</span>(<span class=sig-arg>self</span>)</span>
</h3>
Get all of a message's header field names.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="readheaders"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">readheaders</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Read header lines.</p>
<p>Read header lines up to the entirely blank line that terminates
them. The (normally blank) line that ends the headers is skipped, but
not included in the returned list. If a non-header line ends the
headers, (which is an error), an attempt is made to backspace over it;
it is never included in the returned list.</p>
The variable self.status is set to the empty string if all went
well, otherwise it is an error message. The variable self.headers is a
completely uninterpreted list of lines contained in the header (so
printing them will reproduce the header exactly as it appears in the
file).
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="rewindbody"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">rewindbody</span>(<span class=sig-arg>self</span>)</span>
</h3>
Rewind the file to the start of the body (if seekable).
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="values"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">values</span>(<span class=sig-arg>self</span>)</span>
</h3>
Get all of a message's header field values.
<dl><dt></dt><dd>
</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="i2p-module.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" width="100%"></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 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>