__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)