com.googler.python 1.0.7 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -2
- package/python3.4.2/lib/python3.4/site-packages/pip/__init__.py +1 -277
- package/python3.4.2/lib/python3.4/site-packages/pip/__main__.py +19 -7
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/__init__.py +246 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/basecommand.py +373 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/{baseparser.py → _internal/baseparser.py} +240 -224
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/build_env.py +92 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/cache.py +202 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/cmdoptions.py +609 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/__init__.py +79 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/check.py +42 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/completion.py +94 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/configuration.py +227 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/download.py +233 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/freeze.py +96 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/hash.py +57 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/{commands → _internal/commands}/help.py +36 -33
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/install.py +477 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/list.py +343 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/search.py +135 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/show.py +164 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/uninstall.py +71 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/wheel.py +179 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/compat.py +235 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/configuration.py +378 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/download.py +922 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/exceptions.py +249 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/index.py +1117 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/locations.py +194 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/models/__init__.py +4 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/models/index.py +15 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/{_vendor/requests/packages/urllib3/contrib → _internal/operations}/__init__.py +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/check.py +106 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/freeze.py +252 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/prepare.py +378 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/pep425tags.py +317 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/__init__.py +69 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_file.py +338 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_install.py +1115 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_set.py +164 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_uninstall.py +455 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/resolve.py +354 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/{status_codes.py → _internal/status_codes.py} +8 -6
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/__init__.py +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/appdirs.py +258 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/deprecation.py +77 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/encoding.py +33 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/filesystem.py +28 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/glibc.py +84 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/hashes.py +94 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/logging.py +132 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/misc.py +851 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/outdated.py +163 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/packaging.py +70 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/setuptools_build.py +8 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/temp_dir.py +82 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/typing.py +29 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/ui.py +421 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/__init__.py +471 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/bazaar.py +113 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/git.py +311 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/mercurial.py +105 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/subversion.py +271 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/wheel.py +817 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/__init__.py +109 -8
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/appdirs.py +604 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/__init__.py +11 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/_cmd.py +60 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/adapter.py +134 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/cache.py +39 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +2 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +133 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +43 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/compat.py +29 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/controller.py +373 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/filewrapper.py +78 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/heuristics.py +138 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/serialize.py +194 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/wrapper.py +27 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/__init__.py +3 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/__main__.py +2 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests → certifi}/cacert.pem +1765 -2358
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/core.py +37 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/__init__.py +39 -32
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/big5freq.py +386 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/big5prober.py +47 -42
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/chardistribution.py +233 -231
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/charsetgroupprober.py +106 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/charsetprober.py +145 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/cli/__init__.py +1 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/cli/chardetect.py +85 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/codingstatemachine.py +88 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/compat.py +34 -34
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/cp949prober.py +49 -44
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/enums.py +76 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/escprober.py +101 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/escsm.py +246 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/eucjpprober.py +92 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/euckrfreq.py +195 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euckrprober.py +47 -42
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euctwfreq.py +387 -428
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euctwprober.py +46 -41
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/gb2312freq.py +283 -472
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/gb2312prober.py +46 -41
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/hebrewprober.py +292 -283
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/jisfreq.py +325 -569
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/jpcntx.py +233 -219
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langbulgarianmodel.py +228 -229
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langcyrillicmodel.py +333 -329
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langgreekmodel.py +225 -225
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langhebrewmodel.py +200 -201
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langhungarianmodel.py +225 -225
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langthaimodel.py +199 -200
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/langturkishmodel.py +193 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/latin1prober.py +145 -139
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/mbcharsetprober.py +91 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/mbcsgroupprober.py +54 -54
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/mbcssm.py +572 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/sbcharsetprober.py +132 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/sbcsgroupprober.py +73 -69
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/sjisprober.py +92 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/universaldetector.py +286 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/utf8prober.py +82 -76
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/version.py +9 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/__init__.py +7 -7
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/ansi.py +102 -50
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/ansitowin32.py +236 -190
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/initialise.py +82 -56
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/win32.py +156 -137
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/winterm.py +162 -120
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/__init__.py +23 -23
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/__init__.py +6 -6
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/misc.py +41 -41
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/shutil.py +761 -761
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +84 -84
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +788 -788
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/tarfile.py +2607 -2607
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/compat.py +1117 -1064
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/database.py +1318 -1301
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/index.py +516 -488
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/locators.py +1292 -1194
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/manifest.py +393 -364
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/markers.py +131 -190
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/metadata.py +1068 -1026
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/resources.py +355 -317
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/scripts.py +415 -323
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/t32.exe +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/t64.exe +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/util.py +1755 -1575
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/version.py +736 -721
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/w32.exe +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/w64.exe +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/wheel.py +984 -958
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distro.py +1104 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/__init__.py +35 -23
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{ihatexml.py → _ihatexml.py} +288 -285
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{inputstream.py → _inputstream.py} +923 -881
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{tokenizer.py → _tokenizer.py} +1721 -1731
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/__init__.py +14 -12
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/_base.py +37 -37
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/datrie.py +44 -44
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/py.py +67 -67
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{utils.py → _utils.py} +124 -82
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/constants.py +2947 -3104
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +29 -20
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/{_base.py → base.py} +12 -12
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +73 -65
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/lint.py +93 -93
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +207 -205
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +896 -12
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/whitespace.py +38 -38
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/html5parser.py +2791 -2713
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer.py +409 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +30 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +54 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +50 -44
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +88 -76
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/{_base.py → base.py} +417 -377
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +236 -227
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +340 -337
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +366 -369
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +154 -57
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{_base.py → base.py} +252 -200
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +43 -46
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +130 -138
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{lxmletree.py → etree_lxml.py} +213 -208
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{genshistream.py → genshi.py} +69 -69
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/__init__.py +2 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/codec.py +118 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/compat.py +12 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/core.py +387 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/idnadata.py +1585 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/intranges.py +53 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/package_data.py +2 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/uts46data.py +7634 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/ipaddress.py +2419 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/__init__.py +347 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/linklockfile.py +73 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/mkdirlockfile.py +84 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/pidlockfile.py +190 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/sqlitelockfile.py +156 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/symlinklockfile.py +70 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/__init__.py +66 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/_version.py +1 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/exceptions.py +41 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/fallback.py +971 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/__about__.py +21 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/__init__.py +14 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/_compat.py +30 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/_structures.py +70 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/markers.py +301 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/requirements.py +130 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/specifiers.py +774 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/utils.py +63 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/version.py +441 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{pkg_resources.py → pkg_resources/__init__.py} +3125 -2762
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pkg_resources/py31compat.py +22 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/__init__.py +127 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/bar.py +88 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/counter.py +48 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/helpers.py +91 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/spinner.py +44 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pyparsing.py +5720 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/__init__.py +3 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/core.py +13 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/parser.py +374 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/writer.py +127 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/__init__.py +123 -77
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/__version__.py +14 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/_internal_utils.py +42 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/adapters.py +525 -388
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/api.py +152 -120
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/auth.py +293 -193
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/certs.py +18 -24
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/compat.py +73 -115
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/cookies.py +542 -454
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/exceptions.py +122 -75
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/help.py +120 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/hooks.py +34 -45
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/models.py +948 -803
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages.py +16 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/sessions.py +737 -637
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/status_codes.py +91 -88
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/structures.py +105 -127
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/utils.py +904 -673
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/retrying.py +267 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/six.py +891 -646
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/__init__.py +97 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/_collections.py +319 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/connection.py +373 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/connectionpool.py +905 -710
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +593 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +343 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/appengine.py +296 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/contrib/ntlmpool.py +112 -120
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +455 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +810 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/socks.py +188 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/exceptions.py +246 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/fields.py +178 -177
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/filepost.py +94 -100
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/__init__.py +5 -4
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +53 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ordered_dict.py +259 -260
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/six.py +868 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ssl_match_hostname/__init__.py +19 -13
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ssl_match_hostname/_implementation.py +157 -105
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/poolmanager.py +440 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/request.py +148 -141
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/response.py +626 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/__init__.py +54 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/connection.py +130 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/request.py +118 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/response.py +81 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/retry.py +401 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/selectors.py +581 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/ssl_.py +341 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/util/timeout.py +242 -234
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/util/url.py +230 -162
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/wait.py +40 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/__init__.py +342 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/labels.py +231 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/mklabels.py +59 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/tests.py +153 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/x_user_defined.py +325 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/_markerlib/__init__.py +0 -16
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/_markerlib/markers.py +0 -119
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/sanitizer.py +0 -271
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer/__init__.py +0 -16
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.py +0 -320
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/pulldom.py +0 -63
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/re-vendor.py +0 -34
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/__init__.py +0 -3
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/big5freq.py +0 -925
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/chardetect.py +0 -46
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/charsetgroupprober.py +0 -106
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/charsetprober.py +0 -62
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/codingstatemachine.py +0 -61
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/constants.py +0 -39
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/escprober.py +0 -86
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/escsm.py +0 -242
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/eucjpprober.py +0 -90
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/euckrfreq.py +0 -596
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/mbcharsetprober.py +0 -86
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/mbcssm.py +0 -575
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/sbcharsetprober.py +0 -120
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/sjisprober.py +0 -91
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/universaldetector.py +0 -170
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/__init__.py +0 -58
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/_collections.py +0 -205
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/connection.py +0 -204
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py +0 -422
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/exceptions.py +0 -126
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/packages/six.py +0 -385
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/poolmanager.py +0 -258
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/response.py +0 -308
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/__init__.py +0 -27
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/connection.py +0 -45
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/request.py +0 -68
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/response.py +0 -13
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py +0 -133
- package/python3.4.2/lib/python3.4/site-packages/pip/backwardcompat/__init__.py +0 -138
- package/python3.4.2/lib/python3.4/site-packages/pip/basecommand.py +0 -201
- package/python3.4.2/lib/python3.4/site-packages/pip/cmdoptions.py +0 -371
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/__init__.py +0 -88
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/bundle.py +0 -42
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/completion.py +0 -59
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/freeze.py +0 -114
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/install.py +0 -314
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/list.py +0 -162
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/search.py +0 -132
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/show.py +0 -80
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/uninstall.py +0 -59
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/unzip.py +0 -7
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/wheel.py +0 -195
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/zip.py +0 -351
- package/python3.4.2/lib/python3.4/site-packages/pip/download.py +0 -644
- package/python3.4.2/lib/python3.4/site-packages/pip/exceptions.py +0 -46
- package/python3.4.2/lib/python3.4/site-packages/pip/index.py +0 -990
- package/python3.4.2/lib/python3.4/site-packages/pip/locations.py +0 -171
- package/python3.4.2/lib/python3.4/site-packages/pip/log.py +0 -276
- package/python3.4.2/lib/python3.4/site-packages/pip/pep425tags.py +0 -102
- package/python3.4.2/lib/python3.4/site-packages/pip/req.py +0 -1931
- package/python3.4.2/lib/python3.4/site-packages/pip/runner.py +0 -18
- package/python3.4.2/lib/python3.4/site-packages/pip/util.py +0 -720
- package/python3.4.2/lib/python3.4/site-packages/pip/vcs/__init__.py +0 -251
- package/python3.4.2/lib/python3.4/site-packages/pip/vcs/bazaar.py +0 -131
- package/python3.4.2/lib/python3.4/site-packages/pip/vcs/git.py +0 -194
- package/python3.4.2/lib/python3.4/site-packages/pip/vcs/mercurial.py +0 -151
- package/python3.4.2/lib/python3.4/site-packages/pip/vcs/subversion.py +0 -273
- package/python3.4.2/lib/python3.4/site-packages/pip/wheel.py +0 -560
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
######################## BEGIN LICENSE BLOCK ########################
|
|
2
|
-
# The Original Code is Mozilla Universal charset detector code.
|
|
3
|
-
#
|
|
4
|
-
# The Initial Developer of the Original Code is
|
|
5
|
-
# Netscape Communications Corporation.
|
|
6
|
-
# Portions created by the Initial Developer are Copyright (C) 2001
|
|
7
|
-
# the Initial Developer. All Rights Reserved.
|
|
8
|
-
#
|
|
9
|
-
# Contributor(s):
|
|
10
|
-
# Mark Pilgrim - port to Python
|
|
11
|
-
# Shy Shalom - original C code
|
|
12
|
-
#
|
|
13
|
-
# This library is free software; you can redistribute it and/or
|
|
14
|
-
# modify it under the terms of the GNU Lesser General Public
|
|
15
|
-
# License as published by the Free Software Foundation; either
|
|
16
|
-
# version 2.1 of the License, or (at your option) any later version.
|
|
17
|
-
#
|
|
18
|
-
# This library is distributed in the hope that it will be useful,
|
|
19
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
20
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
21
|
-
# Lesser General Public License for more details.
|
|
22
|
-
#
|
|
23
|
-
# You should have received a copy of the GNU Lesser General Public
|
|
24
|
-
# License along with this library; if not, write to the Free Software
|
|
25
|
-
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
26
|
-
# 02110-1301 USA
|
|
27
|
-
######################### END LICENSE BLOCK #########################
|
|
28
|
-
|
|
29
|
-
import sys
|
|
30
|
-
from . import constants
|
|
31
|
-
from .charsetprober import CharSetProber
|
|
32
|
-
from .compat import wrap_ord
|
|
33
|
-
|
|
34
|
-
SAMPLE_SIZE = 64
|
|
35
|
-
SB_ENOUGH_REL_THRESHOLD = 1024
|
|
36
|
-
POSITIVE_SHORTCUT_THRESHOLD = 0.95
|
|
37
|
-
NEGATIVE_SHORTCUT_THRESHOLD = 0.05
|
|
38
|
-
SYMBOL_CAT_ORDER = 250
|
|
39
|
-
NUMBER_OF_SEQ_CAT = 4
|
|
40
|
-
POSITIVE_CAT = NUMBER_OF_SEQ_CAT - 1
|
|
41
|
-
#NEGATIVE_CAT = 0
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
class SingleByteCharSetProber(CharSetProber):
|
|
45
|
-
def __init__(self, model, reversed=False, nameProber=None):
|
|
46
|
-
CharSetProber.__init__(self)
|
|
47
|
-
self._mModel = model
|
|
48
|
-
# TRUE if we need to reverse every pair in the model lookup
|
|
49
|
-
self._mReversed = reversed
|
|
50
|
-
# Optional auxiliary prober for name decision
|
|
51
|
-
self._mNameProber = nameProber
|
|
52
|
-
self.reset()
|
|
53
|
-
|
|
54
|
-
def reset(self):
|
|
55
|
-
CharSetProber.reset(self)
|
|
56
|
-
# char order of last character
|
|
57
|
-
self._mLastOrder = 255
|
|
58
|
-
self._mSeqCounters = [0] * NUMBER_OF_SEQ_CAT
|
|
59
|
-
self._mTotalSeqs = 0
|
|
60
|
-
self._mTotalChar = 0
|
|
61
|
-
# characters that fall in our sampling range
|
|
62
|
-
self._mFreqChar = 0
|
|
63
|
-
|
|
64
|
-
def get_charset_name(self):
|
|
65
|
-
if self._mNameProber:
|
|
66
|
-
return self._mNameProber.get_charset_name()
|
|
67
|
-
else:
|
|
68
|
-
return self._mModel['charsetName']
|
|
69
|
-
|
|
70
|
-
def feed(self, aBuf):
|
|
71
|
-
if not self._mModel['keepEnglishLetter']:
|
|
72
|
-
aBuf = self.filter_without_english_letters(aBuf)
|
|
73
|
-
aLen = len(aBuf)
|
|
74
|
-
if not aLen:
|
|
75
|
-
return self.get_state()
|
|
76
|
-
for c in aBuf:
|
|
77
|
-
order = self._mModel['charToOrderMap'][wrap_ord(c)]
|
|
78
|
-
if order < SYMBOL_CAT_ORDER:
|
|
79
|
-
self._mTotalChar += 1
|
|
80
|
-
if order < SAMPLE_SIZE:
|
|
81
|
-
self._mFreqChar += 1
|
|
82
|
-
if self._mLastOrder < SAMPLE_SIZE:
|
|
83
|
-
self._mTotalSeqs += 1
|
|
84
|
-
if not self._mReversed:
|
|
85
|
-
i = (self._mLastOrder * SAMPLE_SIZE) + order
|
|
86
|
-
model = self._mModel['precedenceMatrix'][i]
|
|
87
|
-
else: # reverse the order of the letters in the lookup
|
|
88
|
-
i = (order * SAMPLE_SIZE) + self._mLastOrder
|
|
89
|
-
model = self._mModel['precedenceMatrix'][i]
|
|
90
|
-
self._mSeqCounters[model] += 1
|
|
91
|
-
self._mLastOrder = order
|
|
92
|
-
|
|
93
|
-
if self.get_state() == constants.eDetecting:
|
|
94
|
-
if self._mTotalSeqs > SB_ENOUGH_REL_THRESHOLD:
|
|
95
|
-
cf = self.get_confidence()
|
|
96
|
-
if cf > POSITIVE_SHORTCUT_THRESHOLD:
|
|
97
|
-
if constants._debug:
|
|
98
|
-
sys.stderr.write('%s confidence = %s, we have a'
|
|
99
|
-
'winner\n' %
|
|
100
|
-
(self._mModel['charsetName'], cf))
|
|
101
|
-
self._mState = constants.eFoundIt
|
|
102
|
-
elif cf < NEGATIVE_SHORTCUT_THRESHOLD:
|
|
103
|
-
if constants._debug:
|
|
104
|
-
sys.stderr.write('%s confidence = %s, below negative'
|
|
105
|
-
'shortcut threshhold %s\n' %
|
|
106
|
-
(self._mModel['charsetName'], cf,
|
|
107
|
-
NEGATIVE_SHORTCUT_THRESHOLD))
|
|
108
|
-
self._mState = constants.eNotMe
|
|
109
|
-
|
|
110
|
-
return self.get_state()
|
|
111
|
-
|
|
112
|
-
def get_confidence(self):
|
|
113
|
-
r = 0.01
|
|
114
|
-
if self._mTotalSeqs > 0:
|
|
115
|
-
r = ((1.0 * self._mSeqCounters[POSITIVE_CAT]) / self._mTotalSeqs
|
|
116
|
-
/ self._mModel['mTypicalPositiveRatio'])
|
|
117
|
-
r = r * self._mFreqChar / self._mTotalChar
|
|
118
|
-
if r >= 1.0:
|
|
119
|
-
r = 0.99
|
|
120
|
-
return r
|
package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/sjisprober.py
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
######################## BEGIN LICENSE BLOCK ########################
|
|
2
|
-
# The Original Code is mozilla.org code.
|
|
3
|
-
#
|
|
4
|
-
# The Initial Developer of the Original Code is
|
|
5
|
-
# Netscape Communications Corporation.
|
|
6
|
-
# Portions created by the Initial Developer are Copyright (C) 1998
|
|
7
|
-
# the Initial Developer. All Rights Reserved.
|
|
8
|
-
#
|
|
9
|
-
# Contributor(s):
|
|
10
|
-
# Mark Pilgrim - port to Python
|
|
11
|
-
#
|
|
12
|
-
# This library is free software; you can redistribute it and/or
|
|
13
|
-
# modify it under the terms of the GNU Lesser General Public
|
|
14
|
-
# License as published by the Free Software Foundation; either
|
|
15
|
-
# version 2.1 of the License, or (at your option) any later version.
|
|
16
|
-
#
|
|
17
|
-
# This library is distributed in the hope that it will be useful,
|
|
18
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
20
|
-
# Lesser General Public License for more details.
|
|
21
|
-
#
|
|
22
|
-
# You should have received a copy of the GNU Lesser General Public
|
|
23
|
-
# License along with this library; if not, write to the Free Software
|
|
24
|
-
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
25
|
-
# 02110-1301 USA
|
|
26
|
-
######################### END LICENSE BLOCK #########################
|
|
27
|
-
|
|
28
|
-
import sys
|
|
29
|
-
from .mbcharsetprober import MultiByteCharSetProber
|
|
30
|
-
from .codingstatemachine import CodingStateMachine
|
|
31
|
-
from .chardistribution import SJISDistributionAnalysis
|
|
32
|
-
from .jpcntx import SJISContextAnalysis
|
|
33
|
-
from .mbcssm import SJISSMModel
|
|
34
|
-
from . import constants
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
class SJISProber(MultiByteCharSetProber):
|
|
38
|
-
def __init__(self):
|
|
39
|
-
MultiByteCharSetProber.__init__(self)
|
|
40
|
-
self._mCodingSM = CodingStateMachine(SJISSMModel)
|
|
41
|
-
self._mDistributionAnalyzer = SJISDistributionAnalysis()
|
|
42
|
-
self._mContextAnalyzer = SJISContextAnalysis()
|
|
43
|
-
self.reset()
|
|
44
|
-
|
|
45
|
-
def reset(self):
|
|
46
|
-
MultiByteCharSetProber.reset(self)
|
|
47
|
-
self._mContextAnalyzer.reset()
|
|
48
|
-
|
|
49
|
-
def get_charset_name(self):
|
|
50
|
-
return "SHIFT_JIS"
|
|
51
|
-
|
|
52
|
-
def feed(self, aBuf):
|
|
53
|
-
aLen = len(aBuf)
|
|
54
|
-
for i in range(0, aLen):
|
|
55
|
-
codingState = self._mCodingSM.next_state(aBuf[i])
|
|
56
|
-
if codingState == constants.eError:
|
|
57
|
-
if constants._debug:
|
|
58
|
-
sys.stderr.write(self.get_charset_name()
|
|
59
|
-
+ ' prober hit error at byte ' + str(i)
|
|
60
|
-
+ '\n')
|
|
61
|
-
self._mState = constants.eNotMe
|
|
62
|
-
break
|
|
63
|
-
elif codingState == constants.eItsMe:
|
|
64
|
-
self._mState = constants.eFoundIt
|
|
65
|
-
break
|
|
66
|
-
elif codingState == constants.eStart:
|
|
67
|
-
charLen = self._mCodingSM.get_current_charlen()
|
|
68
|
-
if i == 0:
|
|
69
|
-
self._mLastChar[1] = aBuf[0]
|
|
70
|
-
self._mContextAnalyzer.feed(self._mLastChar[2 - charLen:],
|
|
71
|
-
charLen)
|
|
72
|
-
self._mDistributionAnalyzer.feed(self._mLastChar, charLen)
|
|
73
|
-
else:
|
|
74
|
-
self._mContextAnalyzer.feed(aBuf[i + 1 - charLen:i + 3
|
|
75
|
-
- charLen], charLen)
|
|
76
|
-
self._mDistributionAnalyzer.feed(aBuf[i - 1:i + 1],
|
|
77
|
-
charLen)
|
|
78
|
-
|
|
79
|
-
self._mLastChar[0] = aBuf[aLen - 1]
|
|
80
|
-
|
|
81
|
-
if self.get_state() == constants.eDetecting:
|
|
82
|
-
if (self._mContextAnalyzer.got_enough_data() and
|
|
83
|
-
(self.get_confidence() > constants.SHORTCUT_THRESHOLD)):
|
|
84
|
-
self._mState = constants.eFoundIt
|
|
85
|
-
|
|
86
|
-
return self.get_state()
|
|
87
|
-
|
|
88
|
-
def get_confidence(self):
|
|
89
|
-
contxtCf = self._mContextAnalyzer.get_confidence()
|
|
90
|
-
distribCf = self._mDistributionAnalyzer.get_confidence()
|
|
91
|
-
return max(contxtCf, distribCf)
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
######################## BEGIN LICENSE BLOCK ########################
|
|
2
|
-
# The Original Code is Mozilla Universal charset detector code.
|
|
3
|
-
#
|
|
4
|
-
# The Initial Developer of the Original Code is
|
|
5
|
-
# Netscape Communications Corporation.
|
|
6
|
-
# Portions created by the Initial Developer are Copyright (C) 2001
|
|
7
|
-
# the Initial Developer. All Rights Reserved.
|
|
8
|
-
#
|
|
9
|
-
# Contributor(s):
|
|
10
|
-
# Mark Pilgrim - port to Python
|
|
11
|
-
# Shy Shalom - original C code
|
|
12
|
-
#
|
|
13
|
-
# This library is free software; you can redistribute it and/or
|
|
14
|
-
# modify it under the terms of the GNU Lesser General Public
|
|
15
|
-
# License as published by the Free Software Foundation; either
|
|
16
|
-
# version 2.1 of the License, or (at your option) any later version.
|
|
17
|
-
#
|
|
18
|
-
# This library is distributed in the hope that it will be useful,
|
|
19
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
20
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
21
|
-
# Lesser General Public License for more details.
|
|
22
|
-
#
|
|
23
|
-
# You should have received a copy of the GNU Lesser General Public
|
|
24
|
-
# License along with this library; if not, write to the Free Software
|
|
25
|
-
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
26
|
-
# 02110-1301 USA
|
|
27
|
-
######################### END LICENSE BLOCK #########################
|
|
28
|
-
|
|
29
|
-
from . import constants
|
|
30
|
-
import sys
|
|
31
|
-
import codecs
|
|
32
|
-
from .latin1prober import Latin1Prober # windows-1252
|
|
33
|
-
from .mbcsgroupprober import MBCSGroupProber # multi-byte character sets
|
|
34
|
-
from .sbcsgroupprober import SBCSGroupProber # single-byte character sets
|
|
35
|
-
from .escprober import EscCharSetProber # ISO-2122, etc.
|
|
36
|
-
import re
|
|
37
|
-
|
|
38
|
-
MINIMUM_THRESHOLD = 0.20
|
|
39
|
-
ePureAscii = 0
|
|
40
|
-
eEscAscii = 1
|
|
41
|
-
eHighbyte = 2
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
class UniversalDetector:
|
|
45
|
-
def __init__(self):
|
|
46
|
-
self._highBitDetector = re.compile(b'[\x80-\xFF]')
|
|
47
|
-
self._escDetector = re.compile(b'(\033|~{)')
|
|
48
|
-
self._mEscCharSetProber = None
|
|
49
|
-
self._mCharSetProbers = []
|
|
50
|
-
self.reset()
|
|
51
|
-
|
|
52
|
-
def reset(self):
|
|
53
|
-
self.result = {'encoding': None, 'confidence': 0.0}
|
|
54
|
-
self.done = False
|
|
55
|
-
self._mStart = True
|
|
56
|
-
self._mGotData = False
|
|
57
|
-
self._mInputState = ePureAscii
|
|
58
|
-
self._mLastChar = b''
|
|
59
|
-
if self._mEscCharSetProber:
|
|
60
|
-
self._mEscCharSetProber.reset()
|
|
61
|
-
for prober in self._mCharSetProbers:
|
|
62
|
-
prober.reset()
|
|
63
|
-
|
|
64
|
-
def feed(self, aBuf):
|
|
65
|
-
if self.done:
|
|
66
|
-
return
|
|
67
|
-
|
|
68
|
-
aLen = len(aBuf)
|
|
69
|
-
if not aLen:
|
|
70
|
-
return
|
|
71
|
-
|
|
72
|
-
if not self._mGotData:
|
|
73
|
-
# If the data starts with BOM, we know it is UTF
|
|
74
|
-
if aBuf[:3] == codecs.BOM:
|
|
75
|
-
# EF BB BF UTF-8 with BOM
|
|
76
|
-
self.result = {'encoding': "UTF-8", 'confidence': 1.0}
|
|
77
|
-
elif aBuf[:4] == codecs.BOM_UTF32_LE:
|
|
78
|
-
# FF FE 00 00 UTF-32, little-endian BOM
|
|
79
|
-
self.result = {'encoding': "UTF-32LE", 'confidence': 1.0}
|
|
80
|
-
elif aBuf[:4] == codecs.BOM_UTF32_BE:
|
|
81
|
-
# 00 00 FE FF UTF-32, big-endian BOM
|
|
82
|
-
self.result = {'encoding': "UTF-32BE", 'confidence': 1.0}
|
|
83
|
-
elif aBuf[:4] == b'\xFE\xFF\x00\x00':
|
|
84
|
-
# FE FF 00 00 UCS-4, unusual octet order BOM (3412)
|
|
85
|
-
self.result = {
|
|
86
|
-
'encoding': "X-ISO-10646-UCS-4-3412",
|
|
87
|
-
'confidence': 1.0
|
|
88
|
-
}
|
|
89
|
-
elif aBuf[:4] == b'\x00\x00\xFF\xFE':
|
|
90
|
-
# 00 00 FF FE UCS-4, unusual octet order BOM (2143)
|
|
91
|
-
self.result = {
|
|
92
|
-
'encoding': "X-ISO-10646-UCS-4-2143",
|
|
93
|
-
'confidence': 1.0
|
|
94
|
-
}
|
|
95
|
-
elif aBuf[:2] == codecs.BOM_LE:
|
|
96
|
-
# FF FE UTF-16, little endian BOM
|
|
97
|
-
self.result = {'encoding': "UTF-16LE", 'confidence': 1.0}
|
|
98
|
-
elif aBuf[:2] == codecs.BOM_BE:
|
|
99
|
-
# FE FF UTF-16, big endian BOM
|
|
100
|
-
self.result = {'encoding': "UTF-16BE", 'confidence': 1.0}
|
|
101
|
-
|
|
102
|
-
self._mGotData = True
|
|
103
|
-
if self.result['encoding'] and (self.result['confidence'] > 0.0):
|
|
104
|
-
self.done = True
|
|
105
|
-
return
|
|
106
|
-
|
|
107
|
-
if self._mInputState == ePureAscii:
|
|
108
|
-
if self._highBitDetector.search(aBuf):
|
|
109
|
-
self._mInputState = eHighbyte
|
|
110
|
-
elif ((self._mInputState == ePureAscii) and
|
|
111
|
-
self._escDetector.search(self._mLastChar + aBuf)):
|
|
112
|
-
self._mInputState = eEscAscii
|
|
113
|
-
|
|
114
|
-
self._mLastChar = aBuf[-1:]
|
|
115
|
-
|
|
116
|
-
if self._mInputState == eEscAscii:
|
|
117
|
-
if not self._mEscCharSetProber:
|
|
118
|
-
self._mEscCharSetProber = EscCharSetProber()
|
|
119
|
-
if self._mEscCharSetProber.feed(aBuf) == constants.eFoundIt:
|
|
120
|
-
self.result = {'encoding': self._mEscCharSetProber.get_charset_name(),
|
|
121
|
-
'confidence': self._mEscCharSetProber.get_confidence()}
|
|
122
|
-
self.done = True
|
|
123
|
-
elif self._mInputState == eHighbyte:
|
|
124
|
-
if not self._mCharSetProbers:
|
|
125
|
-
self._mCharSetProbers = [MBCSGroupProber(), SBCSGroupProber(),
|
|
126
|
-
Latin1Prober()]
|
|
127
|
-
for prober in self._mCharSetProbers:
|
|
128
|
-
if prober.feed(aBuf) == constants.eFoundIt:
|
|
129
|
-
self.result = {'encoding': prober.get_charset_name(),
|
|
130
|
-
'confidence': prober.get_confidence()}
|
|
131
|
-
self.done = True
|
|
132
|
-
break
|
|
133
|
-
|
|
134
|
-
def close(self):
|
|
135
|
-
if self.done:
|
|
136
|
-
return
|
|
137
|
-
if not self._mGotData:
|
|
138
|
-
if constants._debug:
|
|
139
|
-
sys.stderr.write('no data received!\n')
|
|
140
|
-
return
|
|
141
|
-
self.done = True
|
|
142
|
-
|
|
143
|
-
if self._mInputState == ePureAscii:
|
|
144
|
-
self.result = {'encoding': 'ascii', 'confidence': 1.0}
|
|
145
|
-
return self.result
|
|
146
|
-
|
|
147
|
-
if self._mInputState == eHighbyte:
|
|
148
|
-
proberConfidence = None
|
|
149
|
-
maxProberConfidence = 0.0
|
|
150
|
-
maxProber = None
|
|
151
|
-
for prober in self._mCharSetProbers:
|
|
152
|
-
if not prober:
|
|
153
|
-
continue
|
|
154
|
-
proberConfidence = prober.get_confidence()
|
|
155
|
-
if proberConfidence > maxProberConfidence:
|
|
156
|
-
maxProberConfidence = proberConfidence
|
|
157
|
-
maxProber = prober
|
|
158
|
-
if maxProber and (maxProberConfidence > MINIMUM_THRESHOLD):
|
|
159
|
-
self.result = {'encoding': maxProber.get_charset_name(),
|
|
160
|
-
'confidence': maxProber.get_confidence()}
|
|
161
|
-
return self.result
|
|
162
|
-
|
|
163
|
-
if constants._debug:
|
|
164
|
-
sys.stderr.write('no probers hit minimum threshhold\n')
|
|
165
|
-
for prober in self._mCharSetProbers[0].mProbers:
|
|
166
|
-
if not prober:
|
|
167
|
-
continue
|
|
168
|
-
sys.stderr.write('%s confidence = %s\n' %
|
|
169
|
-
(prober.get_charset_name(),
|
|
170
|
-
prober.get_confidence()))
|
package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/__init__.py
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# urllib3/__init__.py
|
|
2
|
-
# Copyright 2008-2013 Andrey Petrov and contributors (see CONTRIBUTORS.txt)
|
|
3
|
-
#
|
|
4
|
-
# This module is part of urllib3 and is released under
|
|
5
|
-
# the MIT License: http://www.opensource.org/licenses/mit-license.php
|
|
6
|
-
|
|
7
|
-
"""
|
|
8
|
-
urllib3 - Thread-safe connection pooling and re-using.
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
__author__ = 'Andrey Petrov (andrey.petrov@shazow.net)'
|
|
12
|
-
__license__ = 'MIT'
|
|
13
|
-
__version__ = 'dev'
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
from .connectionpool import (
|
|
17
|
-
HTTPConnectionPool,
|
|
18
|
-
HTTPSConnectionPool,
|
|
19
|
-
connection_from_url
|
|
20
|
-
)
|
|
21
|
-
|
|
22
|
-
from . import exceptions
|
|
23
|
-
from .filepost import encode_multipart_formdata
|
|
24
|
-
from .poolmanager import PoolManager, ProxyManager, proxy_from_url
|
|
25
|
-
from .response import HTTPResponse
|
|
26
|
-
from .util import make_headers, get_host, Timeout
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
# Set default logging handler to avoid "No handler found" warnings.
|
|
30
|
-
import logging
|
|
31
|
-
try: # Python 2.7+
|
|
32
|
-
from logging import NullHandler
|
|
33
|
-
except ImportError:
|
|
34
|
-
class NullHandler(logging.Handler):
|
|
35
|
-
def emit(self, record):
|
|
36
|
-
pass
|
|
37
|
-
|
|
38
|
-
logging.getLogger(__name__).addHandler(NullHandler())
|
|
39
|
-
|
|
40
|
-
def add_stderr_logger(level=logging.DEBUG):
|
|
41
|
-
"""
|
|
42
|
-
Helper for quickly adding a StreamHandler to the logger. Useful for
|
|
43
|
-
debugging.
|
|
44
|
-
|
|
45
|
-
Returns the handler after adding it.
|
|
46
|
-
"""
|
|
47
|
-
# This method needs to be in this __init__.py to get the __name__ correct
|
|
48
|
-
# even if urllib3 is vendored within another package.
|
|
49
|
-
logger = logging.getLogger(__name__)
|
|
50
|
-
handler = logging.StreamHandler()
|
|
51
|
-
handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s %(message)s'))
|
|
52
|
-
logger.addHandler(handler)
|
|
53
|
-
logger.setLevel(level)
|
|
54
|
-
logger.debug('Added an stderr logging handler to logger: %s' % __name__)
|
|
55
|
-
return handler
|
|
56
|
-
|
|
57
|
-
# ... Clean up.
|
|
58
|
-
del NullHandler
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
# urllib3/_collections.py
|
|
2
|
-
# Copyright 2008-2013 Andrey Petrov and contributors (see CONTRIBUTORS.txt)
|
|
3
|
-
#
|
|
4
|
-
# This module is part of urllib3 and is released under
|
|
5
|
-
# the MIT License: http://www.opensource.org/licenses/mit-license.php
|
|
6
|
-
|
|
7
|
-
from collections import Mapping, MutableMapping
|
|
8
|
-
try:
|
|
9
|
-
from threading import RLock
|
|
10
|
-
except ImportError: # Platform-specific: No threads available
|
|
11
|
-
class RLock:
|
|
12
|
-
def __enter__(self):
|
|
13
|
-
pass
|
|
14
|
-
|
|
15
|
-
def __exit__(self, exc_type, exc_value, traceback):
|
|
16
|
-
pass
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
try: # Python 2.7+
|
|
20
|
-
from collections import OrderedDict
|
|
21
|
-
except ImportError:
|
|
22
|
-
from .packages.ordered_dict import OrderedDict
|
|
23
|
-
from .packages.six import itervalues
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
__all__ = ['RecentlyUsedContainer', 'HTTPHeaderDict']
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
_Null = object()
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
class RecentlyUsedContainer(MutableMapping):
|
|
33
|
-
"""
|
|
34
|
-
Provides a thread-safe dict-like container which maintains up to
|
|
35
|
-
``maxsize`` keys while throwing away the least-recently-used keys beyond
|
|
36
|
-
``maxsize``.
|
|
37
|
-
|
|
38
|
-
:param maxsize:
|
|
39
|
-
Maximum number of recent elements to retain.
|
|
40
|
-
|
|
41
|
-
:param dispose_func:
|
|
42
|
-
Every time an item is evicted from the container,
|
|
43
|
-
``dispose_func(value)`` is called. Callback which will get called
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
ContainerCls = OrderedDict
|
|
47
|
-
|
|
48
|
-
def __init__(self, maxsize=10, dispose_func=None):
|
|
49
|
-
self._maxsize = maxsize
|
|
50
|
-
self.dispose_func = dispose_func
|
|
51
|
-
|
|
52
|
-
self._container = self.ContainerCls()
|
|
53
|
-
self.lock = RLock()
|
|
54
|
-
|
|
55
|
-
def __getitem__(self, key):
|
|
56
|
-
# Re-insert the item, moving it to the end of the eviction line.
|
|
57
|
-
with self.lock:
|
|
58
|
-
item = self._container.pop(key)
|
|
59
|
-
self._container[key] = item
|
|
60
|
-
return item
|
|
61
|
-
|
|
62
|
-
def __setitem__(self, key, value):
|
|
63
|
-
evicted_value = _Null
|
|
64
|
-
with self.lock:
|
|
65
|
-
# Possibly evict the existing value of 'key'
|
|
66
|
-
evicted_value = self._container.get(key, _Null)
|
|
67
|
-
self._container[key] = value
|
|
68
|
-
|
|
69
|
-
# If we didn't evict an existing value, we might have to evict the
|
|
70
|
-
# least recently used item from the beginning of the container.
|
|
71
|
-
if len(self._container) > self._maxsize:
|
|
72
|
-
_key, evicted_value = self._container.popitem(last=False)
|
|
73
|
-
|
|
74
|
-
if self.dispose_func and evicted_value is not _Null:
|
|
75
|
-
self.dispose_func(evicted_value)
|
|
76
|
-
|
|
77
|
-
def __delitem__(self, key):
|
|
78
|
-
with self.lock:
|
|
79
|
-
value = self._container.pop(key)
|
|
80
|
-
|
|
81
|
-
if self.dispose_func:
|
|
82
|
-
self.dispose_func(value)
|
|
83
|
-
|
|
84
|
-
def __len__(self):
|
|
85
|
-
with self.lock:
|
|
86
|
-
return len(self._container)
|
|
87
|
-
|
|
88
|
-
def __iter__(self):
|
|
89
|
-
raise NotImplementedError('Iteration over this class is unlikely to be threadsafe.')
|
|
90
|
-
|
|
91
|
-
def clear(self):
|
|
92
|
-
with self.lock:
|
|
93
|
-
# Copy pointers to all values, then wipe the mapping
|
|
94
|
-
# under Python 2, this copies the list of values twice :-|
|
|
95
|
-
values = list(self._container.values())
|
|
96
|
-
self._container.clear()
|
|
97
|
-
|
|
98
|
-
if self.dispose_func:
|
|
99
|
-
for value in values:
|
|
100
|
-
self.dispose_func(value)
|
|
101
|
-
|
|
102
|
-
def keys(self):
|
|
103
|
-
with self.lock:
|
|
104
|
-
return self._container.keys()
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
class HTTPHeaderDict(MutableMapping):
|
|
108
|
-
"""
|
|
109
|
-
:param headers:
|
|
110
|
-
An iterable of field-value pairs. Must not contain multiple field names
|
|
111
|
-
when compared case-insensitively.
|
|
112
|
-
|
|
113
|
-
:param kwargs:
|
|
114
|
-
Additional field-value pairs to pass in to ``dict.update``.
|
|
115
|
-
|
|
116
|
-
A ``dict`` like container for storing HTTP Headers.
|
|
117
|
-
|
|
118
|
-
Field names are stored and compared case-insensitively in compliance with
|
|
119
|
-
RFC 2616. Iteration provides the first case-sensitive key seen for each
|
|
120
|
-
case-insensitive pair.
|
|
121
|
-
|
|
122
|
-
Using ``__setitem__`` syntax overwrites fields that compare equal
|
|
123
|
-
case-insensitively in order to maintain ``dict``'s api. For fields that
|
|
124
|
-
compare equal, instead create a new ``HTTPHeaderDict`` and use ``.add``
|
|
125
|
-
in a loop.
|
|
126
|
-
|
|
127
|
-
If multiple fields that are equal case-insensitively are passed to the
|
|
128
|
-
constructor or ``.update``, the behavior is undefined and some will be
|
|
129
|
-
lost.
|
|
130
|
-
|
|
131
|
-
>>> headers = HTTPHeaderDict()
|
|
132
|
-
>>> headers.add('Set-Cookie', 'foo=bar')
|
|
133
|
-
>>> headers.add('set-cookie', 'baz=quxx')
|
|
134
|
-
>>> headers['content-length'] = '7'
|
|
135
|
-
>>> headers['SET-cookie']
|
|
136
|
-
'foo=bar, baz=quxx'
|
|
137
|
-
>>> headers['Content-Length']
|
|
138
|
-
'7'
|
|
139
|
-
|
|
140
|
-
If you want to access the raw headers with their original casing
|
|
141
|
-
for debugging purposes you can access the private ``._data`` attribute
|
|
142
|
-
which is a normal python ``dict`` that maps the case-insensitive key to a
|
|
143
|
-
list of tuples stored as (case-sensitive-original-name, value). Using the
|
|
144
|
-
structure from above as our example:
|
|
145
|
-
|
|
146
|
-
>>> headers._data
|
|
147
|
-
{'set-cookie': [('Set-Cookie', 'foo=bar'), ('set-cookie', 'baz=quxx')],
|
|
148
|
-
'content-length': [('content-length', '7')]}
|
|
149
|
-
"""
|
|
150
|
-
|
|
151
|
-
def __init__(self, headers=None, **kwargs):
|
|
152
|
-
self._data = {}
|
|
153
|
-
if headers is None:
|
|
154
|
-
headers = {}
|
|
155
|
-
self.update(headers, **kwargs)
|
|
156
|
-
|
|
157
|
-
def add(self, key, value):
|
|
158
|
-
"""Adds a (name, value) pair, doesn't overwrite the value if it already
|
|
159
|
-
exists.
|
|
160
|
-
|
|
161
|
-
>>> headers = HTTPHeaderDict(foo='bar')
|
|
162
|
-
>>> headers.add('Foo', 'baz')
|
|
163
|
-
>>> headers['foo']
|
|
164
|
-
'bar, baz'
|
|
165
|
-
"""
|
|
166
|
-
self._data.setdefault(key.lower(), []).append((key, value))
|
|
167
|
-
|
|
168
|
-
def getlist(self, key):
|
|
169
|
-
"""Returns a list of all the values for the named field. Returns an
|
|
170
|
-
empty list if the key doesn't exist."""
|
|
171
|
-
return self[key].split(', ') if key in self else []
|
|
172
|
-
|
|
173
|
-
def copy(self):
|
|
174
|
-
h = HTTPHeaderDict()
|
|
175
|
-
for key in self._data:
|
|
176
|
-
for rawkey, value in self._data[key]:
|
|
177
|
-
h.add(rawkey, value)
|
|
178
|
-
return h
|
|
179
|
-
|
|
180
|
-
def __eq__(self, other):
|
|
181
|
-
if not isinstance(other, Mapping):
|
|
182
|
-
return False
|
|
183
|
-
other = HTTPHeaderDict(other)
|
|
184
|
-
return dict((k1, self[k1]) for k1 in self._data) == \
|
|
185
|
-
dict((k2, other[k2]) for k2 in other._data)
|
|
186
|
-
|
|
187
|
-
def __getitem__(self, key):
|
|
188
|
-
values = self._data[key.lower()]
|
|
189
|
-
return ', '.join(value[1] for value in values)
|
|
190
|
-
|
|
191
|
-
def __setitem__(self, key, value):
|
|
192
|
-
self._data[key.lower()] = [(key, value)]
|
|
193
|
-
|
|
194
|
-
def __delitem__(self, key):
|
|
195
|
-
del self._data[key.lower()]
|
|
196
|
-
|
|
197
|
-
def __len__(self):
|
|
198
|
-
return len(self._data)
|
|
199
|
-
|
|
200
|
-
def __iter__(self):
|
|
201
|
-
for headers in itervalues(self._data):
|
|
202
|
-
yield headers[0][0]
|
|
203
|
-
|
|
204
|
-
def __repr__(self):
|
|
205
|
-
return '%s(%r)' % (self.__class__.__name__, dict(self.items()))
|