NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

__init__.py (1834B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\stdlib\email\__init__.py
      2 __version__ = '4.0.3'
      3 __all__ = ['base64MIME',
      4  'Charset',
      5  'Encoders',
      6  'Errors',
      7  'Generator',
      8  'Header',
      9  'Iterators',
     10  'Message',
     11  'MIMEAudio',
     12  'MIMEBase',
     13  'MIMEImage',
     14  'MIMEMessage',
     15  'MIMEMultipart',
     16  'MIMENonMultipart',
     17  'MIMEText',
     18  'Parser',
     19  'quopriMIME',
     20  'Utils',
     21  'message_from_string',
     22  'message_from_file',
     23  'base64mime',
     24  'charset',
     25  'encoders',
     26  'errors',
     27  'generator',
     28  'header',
     29  'iterators',
     30  'message',
     31  'mime',
     32  'parser',
     33  'quoprimime',
     34  'utils']
     35 
     36 def message_from_string(s, *args, **kws):
     37     from email.parser import Parser
     38     return Parser(*args, **kws).parsestr(s)
     39 
     40 
     41 def message_from_file(fp, *args, **kws):
     42     from email.parser import Parser
     43     return Parser(*args, **kws).parse(fp)
     44 
     45 
     46 import sys
     47 
     48 class LazyImporter(object):
     49 
     50     def __init__(self, module_name):
     51         self.__name__ = 'email.' + module_name
     52 
     53     def __getattr__(self, name):
     54         __import__(self.__name__)
     55         mod = sys.modules[self.__name__]
     56         self.__dict__.update(mod.__dict__)
     57         return getattr(mod, name)
     58 
     59 
     60 _LOWERNAMES = ['Charset',
     61  'Encoders',
     62  'Errors',
     63  'FeedParser',
     64  'Generator',
     65  'Header',
     66  'Iterators',
     67  'Message',
     68  'Parser',
     69  'Utils',
     70  'base64MIME',
     71  'quopriMIME']
     72 _MIMENAMES = ['Audio',
     73  'Base',
     74  'Image',
     75  'Message',
     76  'Multipart',
     77  'NonMultipart',
     78  'Text']
     79 for _name in _LOWERNAMES:
     80     importer = LazyImporter(_name.lower())
     81     sys.modules['email.' + _name] = importer
     82     setattr(sys.modules['email'], _name, importer)
     83 
     84 import email.mime
     85 for _name in _MIMENAMES:
     86     importer = LazyImporter('mime.' + _name.lower())
     87     sys.modules['email.MIME' + _name] = importer
     88     setattr(sys.modules['email'], 'MIME' + _name, importer)
     89     setattr(sys.modules['email.mime'], _name, importer)