404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.15.229.14: ~ $
# Copyright (C) 2001-2006 Python Software Foundation
# Author: Barry Warsaw
# Contact: email-sig@python.org

"""Various types of useful iterators and generators."""
from __future__ import print_function
from __future__ import unicode_literals
from __future__ import division
from __future__ import absolute_import

__all__ = [
    'body_line_iterator',
    'typed_subpart_iterator',
    'walk',
    # Do not include _structure() since it's part of the debugging API.
    ]

import sys
from io 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, str):
            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(tab + msg.get_content_type(), end='', file=fp)
    if include_default:
        print(' [%s]' % msg.get_default_type(), file=fp)
    else:
        print(file=fp)
    if msg.is_multipart():
        for subpart in msg.get_payload():
            _structure(subpart, fp, level+1, include_default)

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
mime Folder 0755
__init__.py File 2.22 KB 0644
_encoded_words.py File 8.25 KB 0644
_header_value_parser.py File 102.24 KB 0644
_parseaddr.py File 16.98 KB 0644
_policybase.py File 14.3 KB 0644
base64mime.py File 3.64 KB 0644
charset.py File 17.03 KB 0644
encoders.py File 2.73 KB 0644
errors.py File 3.59 KB 0644
feedparser.py File 22.2 KB 0644
generator.py File 19.06 KB 0644
header.py File 23.88 KB 0644
headerregistry.py File 20.15 KB 0644
iterators.py File 2.29 KB 0644
message.py File 34.4 KB 0644
parser.py File 5.19 KB 0644
policy.py File 8.62 KB 0644
quoprimime.py File 10.67 KB 0644
utils.py File 13.94 KB 0644