[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.145.89.181: ~ $
# 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)

Filemanager

Name Type Size Permission Actions
mime Folder 0755
.__init__.pyo.40009 File 2.8 KB 0644
._parseaddr.pyo.40009 File 13.57 KB 0644
.base64mime.pyo.40009 File 5.2 KB 0644
.encoders.pyo.40009 File 2.18 KB 0644
.errors.pyo.40009 File 3.45 KB 0644
.generator.pyo.40009 File 10.14 KB 0644
.iterators.pyo.40009 File 2.31 KB 0644
.message.pyo.40009 File 28 KB 0644
.parser.pyo.40009 File 3.74 KB 0644
.quoprimime.pyo.40009 File 8.64 KB 0644
.utils.pyo.40009 File 8.95 KB 0644
__init__.py File 2.79 KB 0644
__init__.pyc File 2.8 KB 0644
__init__.pyo File 2.8 KB 0644
_parseaddr.py File 15.76 KB 0644
_parseaddr.pyc File 13.57 KB 0644
_parseaddr.pyo File 13.57 KB 0644
base64mime.py File 5.66 KB 0644
base64mime.pyc File 5.2 KB 0644
base64mime.pyo File 5.2 KB 0644
charset.py File 15.67 KB 0644
charset.pyc File 13.22 KB 0644
charset.pyo File 13.18 KB 0644
encoders.py File 1.97 KB 0644
encoders.pyc File 2.18 KB 0644
encoders.pyo File 2.18 KB 0644
errors.py File 1.59 KB 0644
errors.pyc File 3.45 KB 0644
errors.pyo File 3.45 KB 0644
feedparser.py File 20.12 KB 0644
feedparser.pyc File 10.88 KB 0644
feedparser.pyo File 10.79 KB 0644
generator.py File 13.89 KB 0644
generator.pyc File 10.14 KB 0644
generator.pyo File 10.14 KB 0644
header.py File 21.72 KB 0644
header.pyc File 13.34 KB 0644
header.pyo File 13.27 KB 0644
iterators.py File 2.15 KB 0644
iterators.pyc File 2.31 KB 0644
iterators.pyo File 2.31 KB 0644
message.py File 30 KB 0644
message.pyc File 28 KB 0644
message.pyo File 28 KB 0644
parser.py File 3.22 KB 0644
parser.pyc File 3.74 KB 0644
parser.pyo File 3.74 KB 0644
quoprimime.py File 10.59 KB 0644
quoprimime.pyc File 8.64 KB 0644
quoprimime.pyo File 8.64 KB 0644
utils.py File 13.53 KB 0644
utils.pyc File 11.86 KB 0644
utils.pyo File 11.86 KB 0644