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

__init__.py (6590B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\lib\werkzeug\__init__.py
      2 from types import ModuleType
      3 import sys
      4 all_by_module = {'werkzeug.debug': ['DebuggedApplication'],
      5  'werkzeug.local': ['Local',
      6                     'LocalManager',
      7                     'LocalProxy',
      8                     'LocalStack',
      9                     'release_local'],
     10  'werkzeug.templates': ['Template'],
     11  'werkzeug.serving': ['run_simple'],
     12  'werkzeug.test': ['Client',
     13                    'EnvironBuilder',
     14                    'create_environ',
     15                    'run_wsgi_app'],
     16  'werkzeug.testapp': ['test_app'],
     17  'werkzeug.exceptions': ['abort', 'Aborter'],
     18  'werkzeug.urls': ['url_decode',
     19                    'url_encode',
     20                    'url_quote',
     21                    'url_quote_plus',
     22                    'url_unquote',
     23                    'url_unquote_plus',
     24                    'url_fix',
     25                    'Href',
     26                    'iri_to_uri',
     27                    'uri_to_iri'],
     28  'werkzeug.formparser': ['parse_form_data'],
     29  'werkzeug.utils': ['escape',
     30                     'environ_property',
     31                     'cookie_date',
     32                     'http_date',
     33                     'append_slash_redirect',
     34                     'redirect',
     35                     'cached_property',
     36                     'import_string',
     37                     'dump_cookie',
     38                     'parse_cookie',
     39                     'unescape',
     40                     'format_string',
     41                     'find_modules',
     42                     'header_property',
     43                     'html',
     44                     'xhtml',
     45                     'HTMLBuilder',
     46                     'validate_arguments',
     47                     'ArgumentValidationError',
     48                     'bind_arguments',
     49                     'secure_filename'],
     50  'werkzeug.wsgi': ['get_current_url',
     51                    'get_host',
     52                    'pop_path_info',
     53                    'peek_path_info',
     54                    'SharedDataMiddleware',
     55                    'DispatcherMiddleware',
     56                    'ClosingIterator',
     57                    'FileWrapper',
     58                    'make_line_iter',
     59                    'LimitedStream',
     60                    'responder',
     61                    'wrap_file',
     62                    'extract_path_info'],
     63  'werkzeug.datastructures': ['MultiDict',
     64                              'CombinedMultiDict',
     65                              'Headers',
     66                              'EnvironHeaders',
     67                              'ImmutableList',
     68                              'ImmutableDict',
     69                              'ImmutableMultiDict',
     70                              'TypeConversionDict',
     71                              'ImmutableTypeConversionDict',
     72                              'Accept',
     73                              'MIMEAccept',
     74                              'CharsetAccept',
     75                              'LanguageAccept',
     76                              'RequestCacheControl',
     77                              'ResponseCacheControl',
     78                              'ETags',
     79                              'HeaderSet',
     80                              'WWWAuthenticate',
     81                              'Authorization',
     82                              'FileMultiDict',
     83                              'CallbackDict',
     84                              'FileStorage',
     85                              'OrderedMultiDict',
     86                              'ImmutableOrderedMultiDict'],
     87  'werkzeug.useragents': ['UserAgent'],
     88  'werkzeug.http': ['parse_etags',
     89                    'parse_date',
     90                    'parse_cache_control_header',
     91                    'is_resource_modified',
     92                    'parse_accept_header',
     93                    'parse_set_header',
     94                    'quote_etag',
     95                    'unquote_etag',
     96                    'generate_etag',
     97                    'dump_header',
     98                    'parse_list_header',
     99                    'parse_dict_header',
    100                    'parse_authorization_header',
    101                    'parse_www_authenticate_header',
    102                    'remove_entity_headers',
    103                    'is_entity_header',
    104                    'remove_hop_by_hop_headers',
    105                    'parse_options_header',
    106                    'dump_options_header',
    107                    'is_hop_by_hop_header',
    108                    'unquote_header_value',
    109                    'quote_header_value',
    110                    'HTTP_STATUS_CODES'],
    111  'werkzeug.wrappers': ['BaseResponse',
    112                        'BaseRequest',
    113                        'Request',
    114                        'Response',
    115                        'AcceptMixin',
    116                        'ETagRequestMixin',
    117                        'ETagResponseMixin',
    118                        'ResponseStreamMixin',
    119                        'CommonResponseDescriptorsMixin',
    120                        'UserAgentMixin',
    121                        'AuthorizationMixin',
    122                        'WWWAuthenticateMixin',
    123                        'CommonRequestDescriptorsMixin'],
    124  'werkzeug.security': ['generate_password_hash', 'check_password_hash'],
    125  'werkzeug._internal': ['_easteregg']}
    126 attribute_modules = dict.fromkeys(['exceptions', 'routing', 'script'])
    127 object_origins = {}
    128 for module, items in all_by_module.iteritems():
    129     for item in items:
    130         object_origins[item] = module
    131 
    132 version = None
    133 
    134 class module(ModuleType):
    135 
    136     def __getattr__(self, name):
    137         if name in object_origins:
    138             module = __import__(object_origins[name], None, None, [name])
    139             for extra_name in all_by_module[module.__name__]:
    140                 setattr(self, extra_name, getattr(module, extra_name))
    141 
    142             return getattr(module, name)
    143         if name in attribute_modules:
    144             __import__('werkzeug.' + name)
    145         return ModuleType.__getattribute__(self, name)
    146 
    147     def __dir__(self):
    148         result = list(new_module.__all__)
    149         result.extend(('__file__', '__path__', '__doc__', '__all__', '__docformat__', '__name__', '__path__', '__package__', '__version__'))
    150         return result
    151 
    152     @property
    153     def __version__(self):
    154         global version
    155         if version is None:
    156             try:
    157                 version = __import__('pkg_resources').get_distribution('Werkzeug').version
    158             except:
    159                 version = 'unknown'
    160 
    161         return version
    162 
    163 
    164 old_module = sys.modules['werkzeug']
    165 new_module = sys.modules['werkzeug'] = module('werkzeug')
    166 new_module.__dict__.update({'__file__': __file__,
    167  '__path__': __path__,
    168  '__doc__': __doc__,
    169  '__all__': tuple(object_origins) + tuple(attribute_modules),
    170  '__docformat__': 'restructuredtext en'})