__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
# 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 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():
yield from subpart.walk()
# 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):
yield from StringIO(payload)
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)
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| mime | Folder | 0755 |
|
|
| __init__.py | File | 1.72 KB | 0644 |
|
| _encoded_words.py | File | 8.34 KB | 0644 |
|
| _header_value_parser.py | File | 105.31 KB | 0644 |
|
| _parseaddr.py | File | 17.4 KB | 0644 |
|
| _policybase.py | File | 15.17 KB | 0644 |
|
| architecture.rst | File | 9.34 KB | 0644 |
|
| base64mime.py | File | 3.47 KB | 0644 |
|
| charset.py | File | 16.66 KB | 0644 |
|
| contentmanager.py | File | 10.34 KB | 0644 |
|
| encoders.py | File | 1.74 KB | 0644 |
|
| errors.py | File | 3.72 KB | 0644 |
|
| feedparser.py | File | 22.26 KB | 0644 |
|
| generator.py | File | 20.33 KB | 0644 |
|
| header.py | File | 23.53 KB | 0644 |
|
| headerregistry.py | File | 20.33 KB | 0644 |
|
| iterators.py | File | 2.08 KB | 0644 |
|
| message.py | File | 46.98 KB | 0644 |
|
| parser.py | File | 4.86 KB | 0644 |
|
| policy.py | File | 10.27 KB | 0644 |
|
| quoprimime.py | File | 9.63 KB | 0644 |
|
| utils.py | File | 15.69 KB | 0644 |
|