Server: appserver-7f0f8755-nginx-15961cad18524ec5a9db05f2a6a7e440
Current directory: /usr/lib/python2.7/email
Software: nginx/1.27.5
Shell Command
Create a new file
Upload file
File: iterators.py
# 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)
.
29 Items
Change directory
Remove directory
Rename directory
..
442 Items
Change directory
Remove directory
Rename directory
__init__.py
2.79 KB
Edit
Delete
Copy
Move
Remame
__init__.pyc
2.79 KB
Edit
Delete
Copy
Move
Remame
_parseaddr.py
15.36 KB
Edit
Delete
Copy
Move
Remame
_parseaddr.pyc
13.45 KB
Edit
Delete
Copy
Move
Remame
base64mime.py
5.66 KB
Edit
Delete
Copy
Move
Remame
base64mime.pyc
5.19 KB
Edit
Delete
Copy
Move
Remame
charset.py
15.67 KB
Edit
Delete
Copy
Move
Remame
charset.pyc
13.19 KB
Edit
Delete
Copy
Move
Remame
encoders.py
1.97 KB
Edit
Delete
Copy
Move
Remame
encoders.pyc
2.17 KB
Edit
Delete
Copy
Move
Remame
errors.py
1.59 KB
Edit
Delete
Copy
Move
Remame
errors.pyc
3.42 KB
Edit
Delete
Copy
Move
Remame
feedparser.py
21.01 KB
Edit
Delete
Copy
Move
Remame
feedparser.pyc
11.25 KB
Edit
Delete
Copy
Move
Remame
generator.py
13.87 KB
Edit
Delete
Copy
Move
Remame
generator.pyc
10.1 KB
Edit
Delete
Copy
Move
Remame
header.py
21.72 KB
Edit
Delete
Copy
Move
Remame
header.pyc
13.31 KB
Edit
Delete
Copy
Move
Remame
iterators.py
2.15 KB
Edit
Delete
Copy
Move
Remame
iterators.pyc
2.3 KB
Edit
Delete
Copy
Move
Remame
message.py
30 KB
Edit
Delete
Copy
Move
Remame
message.pyc
27.91 KB
Edit
Delete
Copy
Move
Remame
mime
18 Items
Change directory
Remove directory
Rename directory
parser.py
3.22 KB
Edit
Delete
Copy
Move
Remame
parser.pyc
3.72 KB
Edit
Delete
Copy
Move
Remame
quoprimime.py
10.59 KB
Edit
Delete
Copy
Move
Remame
quoprimime.pyc
8.62 KB
Edit
Delete
Copy
Move
Remame
utils.py
9.59 KB
Edit
Delete
Copy
Move
Remame
utils.pyc
8.88 KB
Edit
Delete
Copy
Move
Remame