/
usr
/
lib64
/
python2.6
/
email
/
/usr/lib64/python2.6/email
mkdir
upload
Name
Size
Mode
Actions
mime/
-
0755
rm
base64mime.py
5792
0644
edit
dl
rm
base64mime.pyc
5346
0644
edit
dl
rm
base64mime.pyo
5346
0644
edit
dl
rm
charset.py
15791
0644
edit
dl
rm
charset.pyc
13448
0644
edit
dl
rm
charset.pyo
13399
0644
edit
dl
rm
encoders.py
2302
0644
edit
dl
rm
encoders.pyc
2422
0644
edit
dl
rm
encoders.pyo
2422
0644
edit
dl
rm
errors.py
1628
0644
edit
dl
rm
errors.pyc
3529
0644
edit
dl
rm
errors.pyo
3529
0644
edit
dl
rm
feedparser.py
20606
0644
edit
dl
rm
feedparser.pyc
11314
0644
edit
dl
rm
feedparser.pyo
11217
0644
edit
dl
rm
generator.py
14062
0644
edit
dl
rm
generator.pyc
10384
0644
edit
dl
rm
generator.pyo
10384
0644
edit
dl
rm
header.py
21738
0644
edit
dl
rm
header.pyc
13522
0644
edit
dl
rm
header.pyo
13453
0644
edit
dl
rm
iterators.py
2202
0644
edit
dl
rm
iterators.pyc
2393
0644
edit
dl
rm
iterators.pyo
2393
0644
edit
dl
rm
message.py
30446
0644
edit
dl
rm
message.pyc
28653
0644
edit
dl
rm
message.pyo
28653
0644
edit
dl
rm
parser.py
3300
0644
edit
dl
rm
parser.pyc
3853
0644
edit
dl
rm
parser.pyo
3853
0644
edit
dl
rm
quoprimime.py
10839
0644
edit
dl
rm
quoprimime.pyc
8935
0644
edit
dl
rm
quoprimime.pyo
8935
0644
edit
dl
rm
utils.py
9819
0644
edit
dl
rm
utils.pyc
9068
0644
edit
dl
rm
utils.pyo
9068
0644
edit
dl
rm
_parseaddr.py
14981
0644
edit
dl
rm
_parseaddr.pyc
13703
0644
edit
dl
rm
_parseaddr.pyo
13703
0644
edit
dl
rm
__init__.py
2856
0644
edit
dl
rm
__init__.pyc
2876
0644
edit
dl
rm
__init__.pyo
2876
0644
edit
dl
rm
Edit:
/usr/lib64/python2.6/email/iterators.py
(2202B)
# Copyright (C) 2001-2006 Python Software Foundation # Author: Barry Warsaw # Contact: email-sig@python.org """Various types of useful iterators and generators.""" __all__ = [ 'body_line_iterator', 'typed_subpart_iterator', 'walk', # Do not include _structure() since it's part of the debugging API. ] import sys from cStringIO import StringIO # This function will become a method of the Message class def walk(self): """Walk over the message tree, yielding each subpart. The walk is performed in depth-first order. This method is a generator. """ yield self if self.is_multipart(): for subpart in self.get_payload(): for subsubpart in subpart.walk(): yield subsubpart # These two functions are imported into the Iterators.py interface module. def body_line_iterator(msg, decode=False): """Iterate over the parts, returning string payloads line-by-line. Optional decode (default False) is passed through to .get_payload(). """ for subpart in msg.walk(): payload = subpart.get_payload(decode=decode) if isinstance(payload, basestring): for line in StringIO(payload): yield line def typed_subpart_iterator(msg, maintype='text', subtype=None): """Iterate over the subparts with a given MIME type. Use `maintype' as the main MIME type to match against; this defaults to "text". Optional `subtype' is the MIME subtype to match against; if omitted, only the main type is matched. """ for subpart in msg.walk(): if subpart.get_content_maintype() == maintype: if subtype is None or subpart.get_content_subtype() == subtype: yield subpart def _structure(msg, fp=None, level=0, include_default=False): """A handy debugging aid""" if fp is None: fp = sys.stdout tab = ' ' * (level * 4) print >> fp, tab + msg.get_content_type(), if include_default: print >> fp, '[%s]' % msg.get_default_type() else: print >> fp if msg.is_multipart(): for subpart in msg.get_payload(): _structure(subpart, fp, level+1, include_default)
Save
cmd:
run