Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
24bb93af
Commit
24bb93af
authored
Mar 14, 1998
by
Fred Drake
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Logical markup.
Wrap general Message class description in a {classdesc} instead of nothing at all.
parent
1365455a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
108 additions
and
102 deletions
+108
-102
Doc/lib/librfc822.tex
Doc/lib/librfc822.tex
+54
-51
Doc/librfc822.tex
Doc/librfc822.tex
+54
-51
No files found.
Doc/lib/librfc822.tex
View file @
24bb93af
...
@@ -2,20 +2,19 @@
...
@@ -2,20 +2,19 @@
\label
{
module-rfc822
}
\label
{
module-rfc822
}
\stmodindex
{
rfc822
}
\stmodindex
{
rfc822
}
\setindexsubitem
{
(in module rfc822)
}
This module defines a class,
\c
ode
{
Message
}
, which represents a
This module defines a class,
\c
lass
{
Message
}
, which represents a
collection of ``email headers'' as defined by the Internet standard
collection of ``email headers'' as defined by the Internet standard
\rfc
{
822
}
. It is used in various contexts, usually to read such
\rfc
{
822
}
. It is used in various contexts, usually to read such
headers from a file.
headers from a file.
Note that there's a separate module to read
\UNIX
{}
, MH, and MMDF
Note that there's a separate module to read
\UNIX
{}
, MH, and MMDF
style mailbox files:
\code
{
mailbox
}
.
style mailbox files:
\module
{
mailbox
}
\refstmodindex
{
mailbox
}
.
\refstmodindex
{
mailbox
}
A
\code
{
Message
}
instance is instantiated with an open file object as
\begin{classdesc}
{
Message
}{
file
\optional
{
, seekable
}}
parameter. The optional
\code
{
seekable
}
parameter indicates if the
A
\class
{
Message
}
instance is instantiated with an open file object as
file object is seekable; the default value is 1 for true.
parameter. The optional
\var
{
seekable
}
parameter indicates if the
file object is seekable; the default value is
\code
{
1
}
for true.
Instantiation reads headers from the file up to a blank line and
Instantiation reads headers from the file up to a blank line and
stores them in the instance; after instantiation, the file is
stores them in the instance; after instantiation, the file is
positioned directly after the blank line that terminates the headers.
positioned directly after the blank line that terminates the headers.
...
@@ -25,44 +24,46 @@ by a single linefeed; a terminating CR-LF is replaced by a single
...
@@ -25,44 +24,46 @@ by a single linefeed; a terminating CR-LF is replaced by a single
linefeed before the line is stored.
linefeed before the line is stored.
All header matching is done independent of upper or lower case;
All header matching is done independent of upper or lower case;
e.g.
\code
{
m['From']
}
,
\code
{
m['from']
}
and
\code
{
m['FROM']
}
all yield
e.g.
\code
{
\var
{
m
}
['From']
}
,
\code
{
\var
{
m
}
['from']
}
and
the same result.
\code
{
\var
{
m
}
['FROM']
}
all yield the same result.
\end{classdesc}
\begin{funcdesc}
{
parsedate
}{
date
}
\begin{funcdesc}
{
parsedate
}{
date
}
Attempts to parse a date according to the rules in
\rfc
{
822
}
.
however,
Attempts to parse a date according to the rules in
\rfc
{
822
}
.
some mailers don't follow that format as specified, so
however,
some mailers don't follow that format as specified, so
\
code
{
parsedate()
}
tries to guess correctly in such cases.
\
function
{
parsedate()
}
tries to guess correctly in such cases.
\var
{
date
}
is a string containing an
\rfc
{
822
}
date, such as
\var
{
date
}
is a string containing an
\rfc
{
822
}
date, such as
\code
{
"Mon, 20 Nov 1995 19:12:08 -0500"
}
. If it succeeds in parsing
\code
{
'Mon, 20 Nov 1995 19:12:08 -0500'
}
. If it succeeds in parsing
the date,
\
code
{
parsedate()
}
returns a 9-tuple that can be passed
the date,
\
function
{
parsedate()
}
returns a 9-tuple that can be passed
directly to
\
code
{
time.mktime()
}
; otherwise
\code
{
None
}
will be
directly to
\
function
{
time.mktime()
}
; otherwise
\code
{
None
}
will be
returned.
returned.
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
parsedate
_
tz
}{
date
}
\begin{funcdesc}
{
parsedate
_
tz
}{
date
}
Performs the same function as
\code
{
parsedate()
}
, but returns either
Performs the same function as
\function
{
parsedate()
}
, but returns
\code
{
None
}
or a 10-tuple; the first 9 elements make up a tuple that
either
\code
{
None
}
or a 10-tuple; the first 9 elements make up a tuple
can be passed directly to
\code
{
time.mktime()
}
, and the tenth is the
that can be passed directly to
\function
{
time.mktime()
}
, and the tenth
offset of the date's timezone from UTC (which is the official term
is the offset of the date's timezone from UTC (which is the official
for Greenwich Mean Time). (Note that the sign of the timezone offset
term for Greenwich Mean Time). (Note that the sign of the timezone
is the opposite of the sign of the
\code
{
time.timezone
}
variable for
offset is the opposite of the sign of the
\code
{
time.timezone
}
the same timezone; the latter variable follows the
\POSIX
{}
standard
variable for the same timezone; the latter variable follows the
while this module follows
\rfc
{
822
}
.) If the input string has no
\POSIX
{}
standard while this module follows
\rfc
{
822
}
.) If the input
timezone, the last element of the tuple returned is
\code
{
None
}
.
string has no timezone, the last element of the tuple returned is
\code
{
None
}
.
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
mktime
_
tz
}{
tuple
}
\begin{funcdesc}
{
mktime
_
tz
}{
tuple
}
Turn a 10-tuple as returned by
\
code
{
parsedate
_
tz()
}
into a UTC timestamp.
Turn a 10-tuple as returned by
\
function
{
parsedate
_
tz()
}
into a UTC
It the timezone item in the tuple is
\code
{
None
}
, assume local time.
timestamp. It the timezone item in the tuple is
\code
{
None
}
, assume
Minor deficiency: this first interprets the first 8 elements as a
local time. Minor deficiency: this first interprets the first 8
local time and then compensates for the timezone difference;
elements as a local time and then compensates for the timezone
this may yield a slight error around daylight savings time
difference;
this may yield a slight error around daylight savings time
switch dates. Not enough to worry about for common use.
switch dates. Not enough to worry about for common use.
\end{funcdesc}
\end{funcdesc}
\subsection
{
Message Objects
}
\subsection
{
Message Objects
}
A
\c
ode
{
Message
}
instance has the following methods:
A
\c
lass
{
Message
}
instance has the following methods:
\begin{funcdesc}
{
rewindbody
}{}
\begin{funcdesc}
{
rewindbody
}{}
Seek to the start of the message body. This only works if the file
Seek to the start of the message body. This only works if the file
...
@@ -92,16 +93,17 @@ no header matching \var{name}.
...
@@ -92,16 +93,17 @@ no header matching \var{name}.
\begin{funcdesc}
{
getheader
}{
name
}
\begin{funcdesc}
{
getheader
}{
name
}
Like
\code
{
getrawheader(
\var
{
name
}
)
}
, but strip leading and trailing
Like
\code
{
getrawheader(
\var
{
name
}
)
}
, but strip leading and trailing
whitespace
(but not internal whitespace)
.
whitespace
. Internal whitespace is not stripped
.
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
getaddr
}{
name
}
\begin{funcdesc}
{
getaddr
}{
name
}
Return a pair (full name, email address) parsed from the string
Return a pair
\code
{
(
\var
{
full name
}
,
\var
{
email address
}
)
}
parsed
returned by
\code
{
getheader(
\var
{
name
}
)
}
. If no header matching
from the string returned by
\code
{
getheader(
\var
{
name
}
)
}
. If no
\var
{
name
}
exists, return
\code
{
None, None
}
; otherwise both the full
header matching
\var
{
name
}
exists, return
\code
{
(None, None)
}
;
name and the address are (possibly empty )strings.
otherwise both the full name and the address are (possibly empty)
strings.
Example: If
\
code
{
m
}
's first
\code
{
From
}
header contains the string
\\
Example: If
\
var
{
m
}
's first
\code
{
From
}
header contains the string
\code
{
'jack@cwi.nl (Jack Jansen)'
}
, then
\code
{
'jack@cwi.nl (Jack Jansen)'
}
, then
\code
{
m.getaddr('From')
}
will yield the pair
\code
{
m.getaddr('From')
}
will yield the pair
\code
{
('Jack Jansen', 'jack@cwi.nl')
}
.
\code
{
('Jack Jansen', 'jack@cwi.nl')
}
.
...
@@ -113,17 +115,17 @@ exact same result.
...
@@ -113,17 +115,17 @@ exact same result.
\begin{funcdesc}
{
getaddrlist
}{
name
}
\begin{funcdesc}
{
getaddrlist
}{
name
}
This is similar to
\code
{
getaddr(
\var
{
list
}
)
}
, but parses a header
This is similar to
\code
{
getaddr(
\var
{
list
}
)
}
, but parses a header
containing a list of email addresses (e.g. a
\code
{
To
}
header) and
containing a list of email addresses (e.g. a
\code
{
To
}
header) and
returns a list of
(full name, email address) pairs (even if there wa
s
returns a list of
\code
{
(
\var
{
full name
}
,
\var
{
email address
}
)
}
pair
s
only one address in the header). If there is no header matching
(even if there was only one address in the header). If there is no
\var
{
name
}
, return an empty list.
header matching
\var
{
name
}
, return an empty list.
XXX The current version of this function is not really correct. It
XXX The current version of this function is not really correct. It
yields bogus results if a full name contains a comma.
yields bogus results if a full name contains a comma.
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
getdate
}{
name
}
\begin{funcdesc}
{
getdate
}{
name
}
Retrieve a header using
\
code
{
getheader
}
and parse it into a 9-tuple
Retrieve a header using
\
method
{
getheader()
}
and parse it into a 9-tuple
compatible with
\
code
{
time.mktime()
}
. If there is no header matching
compatible with
\
function
{
time.mktime()
}
. If there is no header matching
\var
{
name
}
, or it is unparsable, return
\code
{
None
}
.
\var
{
name
}
, or it is unparsable, return
\code
{
None
}
.
Date parsing appears to be a black art, and not all mailers adhere to
Date parsing appears to be a black art, and not all mailers adhere to
...
@@ -133,21 +135,22 @@ function may occasionally yield an incorrect result.
...
@@ -133,21 +135,22 @@ function may occasionally yield an incorrect result.
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
getdate
_
tz
}{
name
}
\begin{funcdesc}
{
getdate
_
tz
}{
name
}
Retrieve a header using
\
code
{
getheader
}
and parse it into a 10-tuple;
Retrieve a header using
\
method
{
getheader()
}
and parse it into a
the first 9 elements will make a tuple compatible with
10-tuple;
the first 9 elements will make a tuple compatible with
\
code
{
time.mktime()
}
, and the 10th is a number giving the offset of
\
function
{
time.mktime()
}
, and the 10th is a number giving the offset
the date's timezone from UTC. Similarly to
\code
{
getdate()
}
, if
of the date's timezone from UTC. Similarly to
\method
{
getdate()
}
, if
there is no header matching
\var
{
name
}
, or it is unparsable, return
there is no header matching
\var
{
name
}
, or it is unparsable, return
\code
{
None
}
.
\code
{
None
}
.
\end{funcdesc}
\end{funcdesc}
\code
{
Message
}
instances also support a read-only mapping interface.
\class
{
Message
}
instances also support a read-only mapping interface.
In particular:
\code
{
m[name]
}
is the same as
\code
{
m.getheader(name)
}
;
In particular:
\code
{
\var
{
m
}
[name]
}
is the same as
and
\code
{
len(m)
}
,
\code
{
m.has
_
key(name)
}
,
\code
{
m.keys()
}
,
\code
{
\var
{
m
}
.getheader(name)
}
; and
\code
{
len(
\var
{
m
}
)
}
,
\code
{
m.values()
}
and
\code
{
m.items()
}
act as expected (and
\code
{
\var
{
m
}
.has
_
key(name)
}
,
\code
{
\var
{
m
}
.keys()
}
,
consistently).
\code
{
\var
{
m
}
.values()
}
and
\code
{
\var
{
m
}
.items()
}
act as expected
(and consistently).
Finally,
\c
ode
{
Message
}
instances have two public instance variables:
Finally,
\c
lass
{
Message
}
instances have two public instance variables:
\begin{datadesc}
{
headers
}
\begin{datadesc}
{
headers
}
A list containing the entire set of header lines, in the order in
A list containing the entire set of header lines, in the order in
...
...
Doc/librfc822.tex
View file @
24bb93af
...
@@ -2,20 +2,19 @@
...
@@ -2,20 +2,19 @@
\label
{
module-rfc822
}
\label
{
module-rfc822
}
\stmodindex
{
rfc822
}
\stmodindex
{
rfc822
}
\setindexsubitem
{
(in module rfc822)
}
This module defines a class,
\c
ode
{
Message
}
, which represents a
This module defines a class,
\c
lass
{
Message
}
, which represents a
collection of ``email headers'' as defined by the Internet standard
collection of ``email headers'' as defined by the Internet standard
\rfc
{
822
}
. It is used in various contexts, usually to read such
\rfc
{
822
}
. It is used in various contexts, usually to read such
headers from a file.
headers from a file.
Note that there's a separate module to read
\UNIX
{}
, MH, and MMDF
Note that there's a separate module to read
\UNIX
{}
, MH, and MMDF
style mailbox files:
\code
{
mailbox
}
.
style mailbox files:
\module
{
mailbox
}
\refstmodindex
{
mailbox
}
.
\refstmodindex
{
mailbox
}
A
\code
{
Message
}
instance is instantiated with an open file object as
\begin{classdesc}
{
Message
}{
file
\optional
{
, seekable
}}
parameter. The optional
\code
{
seekable
}
parameter indicates if the
A
\class
{
Message
}
instance is instantiated with an open file object as
file object is seekable; the default value is 1 for true.
parameter. The optional
\var
{
seekable
}
parameter indicates if the
file object is seekable; the default value is
\code
{
1
}
for true.
Instantiation reads headers from the file up to a blank line and
Instantiation reads headers from the file up to a blank line and
stores them in the instance; after instantiation, the file is
stores them in the instance; after instantiation, the file is
positioned directly after the blank line that terminates the headers.
positioned directly after the blank line that terminates the headers.
...
@@ -25,44 +24,46 @@ by a single linefeed; a terminating CR-LF is replaced by a single
...
@@ -25,44 +24,46 @@ by a single linefeed; a terminating CR-LF is replaced by a single
linefeed before the line is stored.
linefeed before the line is stored.
All header matching is done independent of upper or lower case;
All header matching is done independent of upper or lower case;
e.g.
\code
{
m['From']
}
,
\code
{
m['from']
}
and
\code
{
m['FROM']
}
all yield
e.g.
\code
{
\var
{
m
}
['From']
}
,
\code
{
\var
{
m
}
['from']
}
and
the same result.
\code
{
\var
{
m
}
['FROM']
}
all yield the same result.
\end{classdesc}
\begin{funcdesc}
{
parsedate
}{
date
}
\begin{funcdesc}
{
parsedate
}{
date
}
Attempts to parse a date according to the rules in
\rfc
{
822
}
.
however,
Attempts to parse a date according to the rules in
\rfc
{
822
}
.
some mailers don't follow that format as specified, so
however,
some mailers don't follow that format as specified, so
\
code
{
parsedate()
}
tries to guess correctly in such cases.
\
function
{
parsedate()
}
tries to guess correctly in such cases.
\var
{
date
}
is a string containing an
\rfc
{
822
}
date, such as
\var
{
date
}
is a string containing an
\rfc
{
822
}
date, such as
\code
{
"Mon, 20 Nov 1995 19:12:08 -0500"
}
. If it succeeds in parsing
\code
{
'Mon, 20 Nov 1995 19:12:08 -0500'
}
. If it succeeds in parsing
the date,
\
code
{
parsedate()
}
returns a 9-tuple that can be passed
the date,
\
function
{
parsedate()
}
returns a 9-tuple that can be passed
directly to
\
code
{
time.mktime()
}
; otherwise
\code
{
None
}
will be
directly to
\
function
{
time.mktime()
}
; otherwise
\code
{
None
}
will be
returned.
returned.
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
parsedate
_
tz
}{
date
}
\begin{funcdesc}
{
parsedate
_
tz
}{
date
}
Performs the same function as
\code
{
parsedate()
}
, but returns either
Performs the same function as
\function
{
parsedate()
}
, but returns
\code
{
None
}
or a 10-tuple; the first 9 elements make up a tuple that
either
\code
{
None
}
or a 10-tuple; the first 9 elements make up a tuple
can be passed directly to
\code
{
time.mktime()
}
, and the tenth is the
that can be passed directly to
\function
{
time.mktime()
}
, and the tenth
offset of the date's timezone from UTC (which is the official term
is the offset of the date's timezone from UTC (which is the official
for Greenwich Mean Time). (Note that the sign of the timezone offset
term for Greenwich Mean Time). (Note that the sign of the timezone
is the opposite of the sign of the
\code
{
time.timezone
}
variable for
offset is the opposite of the sign of the
\code
{
time.timezone
}
the same timezone; the latter variable follows the
\POSIX
{}
standard
variable for the same timezone; the latter variable follows the
while this module follows
\rfc
{
822
}
.) If the input string has no
\POSIX
{}
standard while this module follows
\rfc
{
822
}
.) If the input
timezone, the last element of the tuple returned is
\code
{
None
}
.
string has no timezone, the last element of the tuple returned is
\code
{
None
}
.
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
mktime
_
tz
}{
tuple
}
\begin{funcdesc}
{
mktime
_
tz
}{
tuple
}
Turn a 10-tuple as returned by
\
code
{
parsedate
_
tz()
}
into a UTC timestamp.
Turn a 10-tuple as returned by
\
function
{
parsedate
_
tz()
}
into a UTC
It the timezone item in the tuple is
\code
{
None
}
, assume local time.
timestamp. It the timezone item in the tuple is
\code
{
None
}
, assume
Minor deficiency: this first interprets the first 8 elements as a
local time. Minor deficiency: this first interprets the first 8
local time and then compensates for the timezone difference;
elements as a local time and then compensates for the timezone
this may yield a slight error around daylight savings time
difference;
this may yield a slight error around daylight savings time
switch dates. Not enough to worry about for common use.
switch dates. Not enough to worry about for common use.
\end{funcdesc}
\end{funcdesc}
\subsection
{
Message Objects
}
\subsection
{
Message Objects
}
A
\c
ode
{
Message
}
instance has the following methods:
A
\c
lass
{
Message
}
instance has the following methods:
\begin{funcdesc}
{
rewindbody
}{}
\begin{funcdesc}
{
rewindbody
}{}
Seek to the start of the message body. This only works if the file
Seek to the start of the message body. This only works if the file
...
@@ -92,16 +93,17 @@ no header matching \var{name}.
...
@@ -92,16 +93,17 @@ no header matching \var{name}.
\begin{funcdesc}
{
getheader
}{
name
}
\begin{funcdesc}
{
getheader
}{
name
}
Like
\code
{
getrawheader(
\var
{
name
}
)
}
, but strip leading and trailing
Like
\code
{
getrawheader(
\var
{
name
}
)
}
, but strip leading and trailing
whitespace
(but not internal whitespace)
.
whitespace
. Internal whitespace is not stripped
.
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
getaddr
}{
name
}
\begin{funcdesc}
{
getaddr
}{
name
}
Return a pair (full name, email address) parsed from the string
Return a pair
\code
{
(
\var
{
full name
}
,
\var
{
email address
}
)
}
parsed
returned by
\code
{
getheader(
\var
{
name
}
)
}
. If no header matching
from the string returned by
\code
{
getheader(
\var
{
name
}
)
}
. If no
\var
{
name
}
exists, return
\code
{
None, None
}
; otherwise both the full
header matching
\var
{
name
}
exists, return
\code
{
(None, None)
}
;
name and the address are (possibly empty )strings.
otherwise both the full name and the address are (possibly empty)
strings.
Example: If
\
code
{
m
}
's first
\code
{
From
}
header contains the string
\\
Example: If
\
var
{
m
}
's first
\code
{
From
}
header contains the string
\code
{
'jack@cwi.nl (Jack Jansen)'
}
, then
\code
{
'jack@cwi.nl (Jack Jansen)'
}
, then
\code
{
m.getaddr('From')
}
will yield the pair
\code
{
m.getaddr('From')
}
will yield the pair
\code
{
('Jack Jansen', 'jack@cwi.nl')
}
.
\code
{
('Jack Jansen', 'jack@cwi.nl')
}
.
...
@@ -113,17 +115,17 @@ exact same result.
...
@@ -113,17 +115,17 @@ exact same result.
\begin{funcdesc}
{
getaddrlist
}{
name
}
\begin{funcdesc}
{
getaddrlist
}{
name
}
This is similar to
\code
{
getaddr(
\var
{
list
}
)
}
, but parses a header
This is similar to
\code
{
getaddr(
\var
{
list
}
)
}
, but parses a header
containing a list of email addresses (e.g. a
\code
{
To
}
header) and
containing a list of email addresses (e.g. a
\code
{
To
}
header) and
returns a list of
(full name, email address) pairs (even if there wa
s
returns a list of
\code
{
(
\var
{
full name
}
,
\var
{
email address
}
)
}
pair
s
only one address in the header). If there is no header matching
(even if there was only one address in the header). If there is no
\var
{
name
}
, return an empty list.
header matching
\var
{
name
}
, return an empty list.
XXX The current version of this function is not really correct. It
XXX The current version of this function is not really correct. It
yields bogus results if a full name contains a comma.
yields bogus results if a full name contains a comma.
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
getdate
}{
name
}
\begin{funcdesc}
{
getdate
}{
name
}
Retrieve a header using
\
code
{
getheader
}
and parse it into a 9-tuple
Retrieve a header using
\
method
{
getheader()
}
and parse it into a 9-tuple
compatible with
\
code
{
time.mktime()
}
. If there is no header matching
compatible with
\
function
{
time.mktime()
}
. If there is no header matching
\var
{
name
}
, or it is unparsable, return
\code
{
None
}
.
\var
{
name
}
, or it is unparsable, return
\code
{
None
}
.
Date parsing appears to be a black art, and not all mailers adhere to
Date parsing appears to be a black art, and not all mailers adhere to
...
@@ -133,21 +135,22 @@ function may occasionally yield an incorrect result.
...
@@ -133,21 +135,22 @@ function may occasionally yield an incorrect result.
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
getdate
_
tz
}{
name
}
\begin{funcdesc}
{
getdate
_
tz
}{
name
}
Retrieve a header using
\
code
{
getheader
}
and parse it into a 10-tuple;
Retrieve a header using
\
method
{
getheader()
}
and parse it into a
the first 9 elements will make a tuple compatible with
10-tuple;
the first 9 elements will make a tuple compatible with
\
code
{
time.mktime()
}
, and the 10th is a number giving the offset of
\
function
{
time.mktime()
}
, and the 10th is a number giving the offset
the date's timezone from UTC. Similarly to
\code
{
getdate()
}
, if
of the date's timezone from UTC. Similarly to
\method
{
getdate()
}
, if
there is no header matching
\var
{
name
}
, or it is unparsable, return
there is no header matching
\var
{
name
}
, or it is unparsable, return
\code
{
None
}
.
\code
{
None
}
.
\end{funcdesc}
\end{funcdesc}
\code
{
Message
}
instances also support a read-only mapping interface.
\class
{
Message
}
instances also support a read-only mapping interface.
In particular:
\code
{
m[name]
}
is the same as
\code
{
m.getheader(name)
}
;
In particular:
\code
{
\var
{
m
}
[name]
}
is the same as
and
\code
{
len(m)
}
,
\code
{
m.has
_
key(name)
}
,
\code
{
m.keys()
}
,
\code
{
\var
{
m
}
.getheader(name)
}
; and
\code
{
len(
\var
{
m
}
)
}
,
\code
{
m.values()
}
and
\code
{
m.items()
}
act as expected (and
\code
{
\var
{
m
}
.has
_
key(name)
}
,
\code
{
\var
{
m
}
.keys()
}
,
consistently).
\code
{
\var
{
m
}
.values()
}
and
\code
{
\var
{
m
}
.items()
}
act as expected
(and consistently).
Finally,
\c
ode
{
Message
}
instances have two public instance variables:
Finally,
\c
lass
{
Message
}
instances have two public instance variables:
\begin{datadesc}
{
headers
}
\begin{datadesc}
{
headers
}
A list containing the entire set of header lines, in the order in
A list containing the entire set of header lines, in the order in
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment