/
usr
/
lib64
/
python2.7
/
email
/
/usr/lib64/python2.7/email
mkdir
upload
Name
Size
Mode
Actions
mime/
-
0755
rm
base64mime.py
5794
0644
edit
dl
rm
base64mime.pyc
5323
0644
edit
dl
rm
base64mime.pyo
5323
0644
edit
dl
rm
charset.py
16044
0644
edit
dl
rm
charset.pyc
13541
0644
edit
dl
rm
charset.pyo
13494
0644
edit
dl
rm
encoders.py
2015
0644
edit
dl
rm
encoders.pyc
2232
0644
edit
dl
rm
encoders.pyo
2232
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
20492
0644
edit
dl
rm
feedparser.pyc
11143
0644
edit
dl
rm
feedparser.pyo
11052
0644
edit
dl
rm
generator.py
14203
0644
edit
dl
rm
generator.pyc
10380
0644
edit
dl
rm
generator.pyo
10380
0644
edit
dl
rm
header.py
22243
0644
edit
dl
rm
header.pyc
13662
0644
edit
dl
rm
header.pyo
13592
0644
edit
dl
rm
iterators.py
2202
0644
edit
dl
rm
iterators.pyc
2366
0644
edit
dl
rm
iterators.pyo
2366
0644
edit
dl
rm
message.py
30723
0644
edit
dl
rm
message.pyc
28676
0644
edit
dl
rm
message.pyo
28676
0644
edit
dl
rm
parser.py
3299
0644
edit
dl
rm
parser.pyc
3828
0644
edit
dl
rm
parser.pyo
3828
0644
edit
dl
rm
quoprimime.py
10848
0644
edit
dl
rm
quoprimime.pyc
8850
0644
edit
dl
rm
quoprimime.pyo
8850
0644
edit
dl
rm
utils.py
10026
0644
edit
dl
rm
utils.pyc
9324
0644
edit
dl
rm
utils.pyo
9324
0644
edit
dl
rm
_parseaddr.py
16138
0644
edit
dl
rm
_parseaddr.pyc
13893
0644
edit
dl
rm
_parseaddr.pyo
13893
0644
edit
dl
rm
__init__.py
2856
0644
edit
dl
rm
__init__.pyc
2872
0644
edit
dl
rm
__init__.pyo
2872
0644
edit
dl
rm
Edit:
/usr/lib64/python2.7/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