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.
Files changed (354) hide show
  1. package/package.json +4 -2
  2. package/python3.4.2/lib/python3.4/site-packages/pip/__init__.py +1 -277
  3. package/python3.4.2/lib/python3.4/site-packages/pip/__main__.py +19 -7
  4. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/__init__.py +246 -0
  5. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/basecommand.py +373 -0
  6. package/python3.4.2/lib/python3.4/site-packages/pip/{baseparser.py → _internal/baseparser.py} +240 -224
  7. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/build_env.py +92 -0
  8. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/cache.py +202 -0
  9. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/cmdoptions.py +609 -0
  10. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/__init__.py +79 -0
  11. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/check.py +42 -0
  12. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/completion.py +94 -0
  13. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/configuration.py +227 -0
  14. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/download.py +233 -0
  15. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/freeze.py +96 -0
  16. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/hash.py +57 -0
  17. package/python3.4.2/lib/python3.4/site-packages/pip/{commands → _internal/commands}/help.py +36 -33
  18. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/install.py +477 -0
  19. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/list.py +343 -0
  20. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/search.py +135 -0
  21. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/show.py +164 -0
  22. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/uninstall.py +71 -0
  23. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/wheel.py +179 -0
  24. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/compat.py +235 -0
  25. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/configuration.py +378 -0
  26. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/download.py +922 -0
  27. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/exceptions.py +249 -0
  28. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/index.py +1117 -0
  29. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/locations.py +194 -0
  30. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/models/__init__.py +4 -0
  31. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/models/index.py +15 -0
  32. package/python3.4.2/lib/python3.4/site-packages/pip/{_vendor/requests/packages/urllib3/contrib → _internal/operations}/__init__.py +0 -0
  33. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/check.py +106 -0
  34. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/freeze.py +252 -0
  35. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/prepare.py +378 -0
  36. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/pep425tags.py +317 -0
  37. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/__init__.py +69 -0
  38. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_file.py +338 -0
  39. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_install.py +1115 -0
  40. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_set.py +164 -0
  41. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_uninstall.py +455 -0
  42. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/resolve.py +354 -0
  43. package/python3.4.2/lib/python3.4/site-packages/pip/{status_codes.py → _internal/status_codes.py} +8 -6
  44. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/__init__.py +0 -0
  45. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/appdirs.py +258 -0
  46. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/deprecation.py +77 -0
  47. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/encoding.py +33 -0
  48. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/filesystem.py +28 -0
  49. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/glibc.py +84 -0
  50. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/hashes.py +94 -0
  51. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/logging.py +132 -0
  52. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/misc.py +851 -0
  53. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/outdated.py +163 -0
  54. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/packaging.py +70 -0
  55. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/setuptools_build.py +8 -0
  56. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/temp_dir.py +82 -0
  57. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/typing.py +29 -0
  58. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/ui.py +421 -0
  59. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/__init__.py +471 -0
  60. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/bazaar.py +113 -0
  61. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/git.py +311 -0
  62. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/mercurial.py +105 -0
  63. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/subversion.py +271 -0
  64. package/python3.4.2/lib/python3.4/site-packages/pip/_internal/wheel.py +817 -0
  65. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/__init__.py +109 -8
  66. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/appdirs.py +604 -0
  67. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/__init__.py +11 -0
  68. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/_cmd.py +60 -0
  69. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/adapter.py +134 -0
  70. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/cache.py +39 -0
  71. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +2 -0
  72. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +133 -0
  73. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +43 -0
  74. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/compat.py +29 -0
  75. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/controller.py +373 -0
  76. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/filewrapper.py +78 -0
  77. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/heuristics.py +138 -0
  78. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/serialize.py +194 -0
  79. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/wrapper.py +27 -0
  80. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/__init__.py +3 -0
  81. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/__main__.py +2 -0
  82. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests → certifi}/cacert.pem +1765 -2358
  83. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/core.py +37 -0
  84. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/__init__.py +39 -32
  85. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/big5freq.py +386 -0
  86. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/big5prober.py +47 -42
  87. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/chardistribution.py +233 -231
  88. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/charsetgroupprober.py +106 -0
  89. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/charsetprober.py +145 -0
  90. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/cli/__init__.py +1 -0
  91. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/cli/chardetect.py +85 -0
  92. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/codingstatemachine.py +88 -0
  93. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/compat.py +34 -34
  94. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/cp949prober.py +49 -44
  95. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/enums.py +76 -0
  96. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/escprober.py +101 -0
  97. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/escsm.py +246 -0
  98. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/eucjpprober.py +92 -0
  99. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/euckrfreq.py +195 -0
  100. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euckrprober.py +47 -42
  101. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euctwfreq.py +387 -428
  102. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euctwprober.py +46 -41
  103. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/gb2312freq.py +283 -472
  104. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/gb2312prober.py +46 -41
  105. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/hebrewprober.py +292 -283
  106. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/jisfreq.py +325 -569
  107. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/jpcntx.py +233 -219
  108. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langbulgarianmodel.py +228 -229
  109. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langcyrillicmodel.py +333 -329
  110. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langgreekmodel.py +225 -225
  111. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langhebrewmodel.py +200 -201
  112. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langhungarianmodel.py +225 -225
  113. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langthaimodel.py +199 -200
  114. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/langturkishmodel.py +193 -0
  115. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/latin1prober.py +145 -139
  116. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/mbcharsetprober.py +91 -0
  117. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/mbcsgroupprober.py +54 -54
  118. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/mbcssm.py +572 -0
  119. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/sbcharsetprober.py +132 -0
  120. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/sbcsgroupprober.py +73 -69
  121. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/sjisprober.py +92 -0
  122. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/universaldetector.py +286 -0
  123. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/utf8prober.py +82 -76
  124. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/version.py +9 -0
  125. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/__init__.py +7 -7
  126. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/ansi.py +102 -50
  127. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/ansitowin32.py +236 -190
  128. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/initialise.py +82 -56
  129. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/win32.py +156 -137
  130. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/winterm.py +162 -120
  131. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/__init__.py +23 -23
  132. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/__init__.py +6 -6
  133. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/misc.py +41 -41
  134. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/shutil.py +761 -761
  135. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +84 -84
  136. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +788 -788
  137. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/tarfile.py +2607 -2607
  138. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/compat.py +1117 -1064
  139. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/database.py +1318 -1301
  140. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/index.py +516 -488
  141. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/locators.py +1292 -1194
  142. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/manifest.py +393 -364
  143. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/markers.py +131 -190
  144. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/metadata.py +1068 -1026
  145. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/resources.py +355 -317
  146. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/scripts.py +415 -323
  147. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  148. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  149. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/util.py +1755 -1575
  150. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/version.py +736 -721
  151. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  152. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  153. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/wheel.py +984 -958
  154. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distro.py +1104 -0
  155. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/__init__.py +35 -23
  156. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{ihatexml.py → _ihatexml.py} +288 -285
  157. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{inputstream.py → _inputstream.py} +923 -881
  158. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{tokenizer.py → _tokenizer.py} +1721 -1731
  159. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/__init__.py +14 -12
  160. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/_base.py +37 -37
  161. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/datrie.py +44 -44
  162. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/py.py +67 -67
  163. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{utils.py → _utils.py} +124 -82
  164. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/constants.py +2947 -3104
  165. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +29 -20
  166. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/{_base.py → base.py} +12 -12
  167. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +73 -65
  168. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/lint.py +93 -93
  169. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +207 -205
  170. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +896 -12
  171. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/whitespace.py +38 -38
  172. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/html5parser.py +2791 -2713
  173. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer.py +409 -0
  174. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +30 -0
  175. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +54 -0
  176. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +50 -44
  177. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +88 -76
  178. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/{_base.py → base.py} +417 -377
  179. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +236 -227
  180. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +340 -337
  181. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +366 -369
  182. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +154 -57
  183. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{_base.py → base.py} +252 -200
  184. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +43 -46
  185. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +130 -138
  186. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{lxmletree.py → etree_lxml.py} +213 -208
  187. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{genshistream.py → genshi.py} +69 -69
  188. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/__init__.py +2 -0
  189. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/codec.py +118 -0
  190. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/compat.py +12 -0
  191. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/core.py +387 -0
  192. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/idnadata.py +1585 -0
  193. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/intranges.py +53 -0
  194. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/package_data.py +2 -0
  195. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/uts46data.py +7634 -0
  196. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/ipaddress.py +2419 -0
  197. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/__init__.py +347 -0
  198. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/linklockfile.py +73 -0
  199. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/mkdirlockfile.py +84 -0
  200. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/pidlockfile.py +190 -0
  201. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/sqlitelockfile.py +156 -0
  202. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/symlinklockfile.py +70 -0
  203. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/__init__.py +66 -0
  204. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/_version.py +1 -0
  205. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/exceptions.py +41 -0
  206. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/fallback.py +971 -0
  207. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/__about__.py +21 -0
  208. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/__init__.py +14 -0
  209. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/_compat.py +30 -0
  210. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/_structures.py +70 -0
  211. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/markers.py +301 -0
  212. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/requirements.py +130 -0
  213. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/specifiers.py +774 -0
  214. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/utils.py +63 -0
  215. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/version.py +441 -0
  216. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{pkg_resources.py → pkg_resources/__init__.py} +3125 -2762
  217. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pkg_resources/py31compat.py +22 -0
  218. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/__init__.py +127 -0
  219. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/bar.py +88 -0
  220. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/counter.py +48 -0
  221. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/helpers.py +91 -0
  222. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/spinner.py +44 -0
  223. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pyparsing.py +5720 -0
  224. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/__init__.py +3 -0
  225. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/core.py +13 -0
  226. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/parser.py +374 -0
  227. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/writer.py +127 -0
  228. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/__init__.py +123 -77
  229. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/__version__.py +14 -0
  230. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/_internal_utils.py +42 -0
  231. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/adapters.py +525 -388
  232. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/api.py +152 -120
  233. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/auth.py +293 -193
  234. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/certs.py +18 -24
  235. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/compat.py +73 -115
  236. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/cookies.py +542 -454
  237. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/exceptions.py +122 -75
  238. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/help.py +120 -0
  239. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/hooks.py +34 -45
  240. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/models.py +948 -803
  241. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages.py +16 -0
  242. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/sessions.py +737 -637
  243. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/status_codes.py +91 -88
  244. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/structures.py +105 -127
  245. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/utils.py +904 -673
  246. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/retrying.py +267 -0
  247. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/six.py +891 -646
  248. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/__init__.py +97 -0
  249. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/_collections.py +319 -0
  250. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/connection.py +373 -0
  251. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/connectionpool.py +905 -710
  252. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  253. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  254. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +593 -0
  255. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +343 -0
  256. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/appengine.py +296 -0
  257. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/contrib/ntlmpool.py +112 -120
  258. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +455 -0
  259. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +810 -0
  260. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/socks.py +188 -0
  261. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/exceptions.py +246 -0
  262. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/fields.py +178 -177
  263. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/filepost.py +94 -100
  264. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/__init__.py +5 -4
  265. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  266. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +53 -0
  267. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ordered_dict.py +259 -260
  268. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/six.py +868 -0
  269. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ssl_match_hostname/__init__.py +19 -13
  270. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ssl_match_hostname/_implementation.py +157 -105
  271. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/poolmanager.py +440 -0
  272. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/request.py +148 -141
  273. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/response.py +626 -0
  274. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/__init__.py +54 -0
  275. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/connection.py +130 -0
  276. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/request.py +118 -0
  277. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/response.py +81 -0
  278. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/retry.py +401 -0
  279. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/selectors.py +581 -0
  280. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/ssl_.py +341 -0
  281. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/util/timeout.py +242 -234
  282. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/util/url.py +230 -162
  283. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/wait.py +40 -0
  284. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/__init__.py +342 -0
  285. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/labels.py +231 -0
  286. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/mklabels.py +59 -0
  287. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/tests.py +153 -0
  288. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/x_user_defined.py +325 -0
  289. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/_markerlib/__init__.py +0 -16
  290. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/_markerlib/markers.py +0 -119
  291. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/sanitizer.py +0 -271
  292. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer/__init__.py +0 -16
  293. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.py +0 -320
  294. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/pulldom.py +0 -63
  295. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/re-vendor.py +0 -34
  296. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/__init__.py +0 -3
  297. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/big5freq.py +0 -925
  298. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/chardetect.py +0 -46
  299. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/charsetgroupprober.py +0 -106
  300. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/charsetprober.py +0 -62
  301. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/codingstatemachine.py +0 -61
  302. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/constants.py +0 -39
  303. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/escprober.py +0 -86
  304. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/escsm.py +0 -242
  305. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/eucjpprober.py +0 -90
  306. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/euckrfreq.py +0 -596
  307. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/mbcharsetprober.py +0 -86
  308. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/mbcssm.py +0 -575
  309. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/sbcharsetprober.py +0 -120
  310. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/sjisprober.py +0 -91
  311. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/universaldetector.py +0 -170
  312. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/__init__.py +0 -58
  313. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/_collections.py +0 -205
  314. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/connection.py +0 -204
  315. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py +0 -422
  316. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/exceptions.py +0 -126
  317. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/packages/six.py +0 -385
  318. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/poolmanager.py +0 -258
  319. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/response.py +0 -308
  320. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/__init__.py +0 -27
  321. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/connection.py +0 -45
  322. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/request.py +0 -68
  323. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/response.py +0 -13
  324. package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py +0 -133
  325. package/python3.4.2/lib/python3.4/site-packages/pip/backwardcompat/__init__.py +0 -138
  326. package/python3.4.2/lib/python3.4/site-packages/pip/basecommand.py +0 -201
  327. package/python3.4.2/lib/python3.4/site-packages/pip/cmdoptions.py +0 -371
  328. package/python3.4.2/lib/python3.4/site-packages/pip/commands/__init__.py +0 -88
  329. package/python3.4.2/lib/python3.4/site-packages/pip/commands/bundle.py +0 -42
  330. package/python3.4.2/lib/python3.4/site-packages/pip/commands/completion.py +0 -59
  331. package/python3.4.2/lib/python3.4/site-packages/pip/commands/freeze.py +0 -114
  332. package/python3.4.2/lib/python3.4/site-packages/pip/commands/install.py +0 -314
  333. package/python3.4.2/lib/python3.4/site-packages/pip/commands/list.py +0 -162
  334. package/python3.4.2/lib/python3.4/site-packages/pip/commands/search.py +0 -132
  335. package/python3.4.2/lib/python3.4/site-packages/pip/commands/show.py +0 -80
  336. package/python3.4.2/lib/python3.4/site-packages/pip/commands/uninstall.py +0 -59
  337. package/python3.4.2/lib/python3.4/site-packages/pip/commands/unzip.py +0 -7
  338. package/python3.4.2/lib/python3.4/site-packages/pip/commands/wheel.py +0 -195
  339. package/python3.4.2/lib/python3.4/site-packages/pip/commands/zip.py +0 -351
  340. package/python3.4.2/lib/python3.4/site-packages/pip/download.py +0 -644
  341. package/python3.4.2/lib/python3.4/site-packages/pip/exceptions.py +0 -46
  342. package/python3.4.2/lib/python3.4/site-packages/pip/index.py +0 -990
  343. package/python3.4.2/lib/python3.4/site-packages/pip/locations.py +0 -171
  344. package/python3.4.2/lib/python3.4/site-packages/pip/log.py +0 -276
  345. package/python3.4.2/lib/python3.4/site-packages/pip/pep425tags.py +0 -102
  346. package/python3.4.2/lib/python3.4/site-packages/pip/req.py +0 -1931
  347. package/python3.4.2/lib/python3.4/site-packages/pip/runner.py +0 -18
  348. package/python3.4.2/lib/python3.4/site-packages/pip/util.py +0 -720
  349. package/python3.4.2/lib/python3.4/site-packages/pip/vcs/__init__.py +0 -251
  350. package/python3.4.2/lib/python3.4/site-packages/pip/vcs/bazaar.py +0 -131
  351. package/python3.4.2/lib/python3.4/site-packages/pip/vcs/git.py +0 -194
  352. package/python3.4.2/lib/python3.4/site-packages/pip/vcs/mercurial.py +0 -151
  353. package/python3.4.2/lib/python3.4/site-packages/pip/vcs/subversion.py +0 -273
  354. package/python3.4.2/lib/python3.4/site-packages/pip/wheel.py +0 -560
@@ -1,231 +1,233 @@
1
- ######################## BEGIN LICENSE BLOCK ########################
2
- # The Original Code is Mozilla Communicator client 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
- from .euctwfreq import (EUCTWCharToFreqOrder, EUCTW_TABLE_SIZE,
29
- EUCTW_TYPICAL_DISTRIBUTION_RATIO)
30
- from .euckrfreq import (EUCKRCharToFreqOrder, EUCKR_TABLE_SIZE,
31
- EUCKR_TYPICAL_DISTRIBUTION_RATIO)
32
- from .gb2312freq import (GB2312CharToFreqOrder, GB2312_TABLE_SIZE,
33
- GB2312_TYPICAL_DISTRIBUTION_RATIO)
34
- from .big5freq import (Big5CharToFreqOrder, BIG5_TABLE_SIZE,
35
- BIG5_TYPICAL_DISTRIBUTION_RATIO)
36
- from .jisfreq import (JISCharToFreqOrder, JIS_TABLE_SIZE,
37
- JIS_TYPICAL_DISTRIBUTION_RATIO)
38
- from .compat import wrap_ord
39
-
40
- ENOUGH_DATA_THRESHOLD = 1024
41
- SURE_YES = 0.99
42
- SURE_NO = 0.01
43
- MINIMUM_DATA_THRESHOLD = 3
44
-
45
-
46
- class CharDistributionAnalysis:
47
- def __init__(self):
48
- # Mapping table to get frequency order from char order (get from
49
- # GetOrder())
50
- self._mCharToFreqOrder = None
51
- self._mTableSize = None # Size of above table
52
- # This is a constant value which varies from language to language,
53
- # used in calculating confidence. See
54
- # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html
55
- # for further detail.
56
- self._mTypicalDistributionRatio = None
57
- self.reset()
58
-
59
- def reset(self):
60
- """reset analyser, clear any state"""
61
- # If this flag is set to True, detection is done and conclusion has
62
- # been made
63
- self._mDone = False
64
- self._mTotalChars = 0 # Total characters encountered
65
- # The number of characters whose frequency order is less than 512
66
- self._mFreqChars = 0
67
-
68
- def feed(self, aBuf, aCharLen):
69
- """feed a character with known length"""
70
- if aCharLen == 2:
71
- # we only care about 2-bytes character in our distribution analysis
72
- order = self.get_order(aBuf)
73
- else:
74
- order = -1
75
- if order >= 0:
76
- self._mTotalChars += 1
77
- # order is valid
78
- if order < self._mTableSize:
79
- if 512 > self._mCharToFreqOrder[order]:
80
- self._mFreqChars += 1
81
-
82
- def get_confidence(self):
83
- """return confidence based on existing data"""
84
- # if we didn't receive any character in our consideration range,
85
- # return negative answer
86
- if self._mTotalChars <= 0 or self._mFreqChars <= MINIMUM_DATA_THRESHOLD:
87
- return SURE_NO
88
-
89
- if self._mTotalChars != self._mFreqChars:
90
- r = (self._mFreqChars / ((self._mTotalChars - self._mFreqChars)
91
- * self._mTypicalDistributionRatio))
92
- if r < SURE_YES:
93
- return r
94
-
95
- # normalize confidence (we don't want to be 100% sure)
96
- return SURE_YES
97
-
98
- def got_enough_data(self):
99
- # It is not necessary to receive all data to draw conclusion.
100
- # For charset detection, certain amount of data is enough
101
- return self._mTotalChars > ENOUGH_DATA_THRESHOLD
102
-
103
- def get_order(self, aBuf):
104
- # We do not handle characters based on the original encoding string,
105
- # but convert this encoding string to a number, here called order.
106
- # This allows multiple encodings of a language to share one frequency
107
- # table.
108
- return -1
109
-
110
-
111
- class EUCTWDistributionAnalysis(CharDistributionAnalysis):
112
- def __init__(self):
113
- CharDistributionAnalysis.__init__(self)
114
- self._mCharToFreqOrder = EUCTWCharToFreqOrder
115
- self._mTableSize = EUCTW_TABLE_SIZE
116
- self._mTypicalDistributionRatio = EUCTW_TYPICAL_DISTRIBUTION_RATIO
117
-
118
- def get_order(self, aBuf):
119
- # for euc-TW encoding, we are interested
120
- # first byte range: 0xc4 -- 0xfe
121
- # second byte range: 0xa1 -- 0xfe
122
- # no validation needed here. State machine has done that
123
- first_char = wrap_ord(aBuf[0])
124
- if first_char >= 0xC4:
125
- return 94 * (first_char - 0xC4) + wrap_ord(aBuf[1]) - 0xA1
126
- else:
127
- return -1
128
-
129
-
130
- class EUCKRDistributionAnalysis(CharDistributionAnalysis):
131
- def __init__(self):
132
- CharDistributionAnalysis.__init__(self)
133
- self._mCharToFreqOrder = EUCKRCharToFreqOrder
134
- self._mTableSize = EUCKR_TABLE_SIZE
135
- self._mTypicalDistributionRatio = EUCKR_TYPICAL_DISTRIBUTION_RATIO
136
-
137
- def get_order(self, aBuf):
138
- # for euc-KR encoding, we are interested
139
- # first byte range: 0xb0 -- 0xfe
140
- # second byte range: 0xa1 -- 0xfe
141
- # no validation needed here. State machine has done that
142
- first_char = wrap_ord(aBuf[0])
143
- if first_char >= 0xB0:
144
- return 94 * (first_char - 0xB0) + wrap_ord(aBuf[1]) - 0xA1
145
- else:
146
- return -1
147
-
148
-
149
- class GB2312DistributionAnalysis(CharDistributionAnalysis):
150
- def __init__(self):
151
- CharDistributionAnalysis.__init__(self)
152
- self._mCharToFreqOrder = GB2312CharToFreqOrder
153
- self._mTableSize = GB2312_TABLE_SIZE
154
- self._mTypicalDistributionRatio = GB2312_TYPICAL_DISTRIBUTION_RATIO
155
-
156
- def get_order(self, aBuf):
157
- # for GB2312 encoding, we are interested
158
- # first byte range: 0xb0 -- 0xfe
159
- # second byte range: 0xa1 -- 0xfe
160
- # no validation needed here. State machine has done that
161
- first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1])
162
- if (first_char >= 0xB0) and (second_char >= 0xA1):
163
- return 94 * (first_char - 0xB0) + second_char - 0xA1
164
- else:
165
- return -1
166
-
167
-
168
- class Big5DistributionAnalysis(CharDistributionAnalysis):
169
- def __init__(self):
170
- CharDistributionAnalysis.__init__(self)
171
- self._mCharToFreqOrder = Big5CharToFreqOrder
172
- self._mTableSize = BIG5_TABLE_SIZE
173
- self._mTypicalDistributionRatio = BIG5_TYPICAL_DISTRIBUTION_RATIO
174
-
175
- def get_order(self, aBuf):
176
- # for big5 encoding, we are interested
177
- # first byte range: 0xa4 -- 0xfe
178
- # second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe
179
- # no validation needed here. State machine has done that
180
- first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1])
181
- if first_char >= 0xA4:
182
- if second_char >= 0xA1:
183
- return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63
184
- else:
185
- return 157 * (first_char - 0xA4) + second_char - 0x40
186
- else:
187
- return -1
188
-
189
-
190
- class SJISDistributionAnalysis(CharDistributionAnalysis):
191
- def __init__(self):
192
- CharDistributionAnalysis.__init__(self)
193
- self._mCharToFreqOrder = JISCharToFreqOrder
194
- self._mTableSize = JIS_TABLE_SIZE
195
- self._mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO
196
-
197
- def get_order(self, aBuf):
198
- # for sjis encoding, we are interested
199
- # first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe
200
- # second byte range: 0x40 -- 0x7e, 0x81 -- oxfe
201
- # no validation needed here. State machine has done that
202
- first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1])
203
- if (first_char >= 0x81) and (first_char <= 0x9F):
204
- order = 188 * (first_char - 0x81)
205
- elif (first_char >= 0xE0) and (first_char <= 0xEF):
206
- order = 188 * (first_char - 0xE0 + 31)
207
- else:
208
- return -1
209
- order = order + second_char - 0x40
210
- if second_char > 0x7F:
211
- order = -1
212
- return order
213
-
214
-
215
- class EUCJPDistributionAnalysis(CharDistributionAnalysis):
216
- def __init__(self):
217
- CharDistributionAnalysis.__init__(self)
218
- self._mCharToFreqOrder = JISCharToFreqOrder
219
- self._mTableSize = JIS_TABLE_SIZE
220
- self._mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO
221
-
222
- def get_order(self, aBuf):
223
- # for euc-JP encoding, we are interested
224
- # first byte range: 0xa0 -- 0xfe
225
- # second byte range: 0xa1 -- 0xfe
226
- # no validation needed here. State machine has done that
227
- char = wrap_ord(aBuf[0])
228
- if char >= 0xA0:
229
- return 94 * (char - 0xA1) + wrap_ord(aBuf[1]) - 0xa1
230
- else:
231
- return -1
1
+ ######################## BEGIN LICENSE BLOCK ########################
2
+ # The Original Code is Mozilla Communicator client 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
+ from .euctwfreq import (EUCTW_CHAR_TO_FREQ_ORDER, EUCTW_TABLE_SIZE,
29
+ EUCTW_TYPICAL_DISTRIBUTION_RATIO)
30
+ from .euckrfreq import (EUCKR_CHAR_TO_FREQ_ORDER, EUCKR_TABLE_SIZE,
31
+ EUCKR_TYPICAL_DISTRIBUTION_RATIO)
32
+ from .gb2312freq import (GB2312_CHAR_TO_FREQ_ORDER, GB2312_TABLE_SIZE,
33
+ GB2312_TYPICAL_DISTRIBUTION_RATIO)
34
+ from .big5freq import (BIG5_CHAR_TO_FREQ_ORDER, BIG5_TABLE_SIZE,
35
+ BIG5_TYPICAL_DISTRIBUTION_RATIO)
36
+ from .jisfreq import (JIS_CHAR_TO_FREQ_ORDER, JIS_TABLE_SIZE,
37
+ JIS_TYPICAL_DISTRIBUTION_RATIO)
38
+
39
+
40
+ class CharDistributionAnalysis(object):
41
+ ENOUGH_DATA_THRESHOLD = 1024
42
+ SURE_YES = 0.99
43
+ SURE_NO = 0.01
44
+ MINIMUM_DATA_THRESHOLD = 3
45
+
46
+ def __init__(self):
47
+ # Mapping table to get frequency order from char order (get from
48
+ # GetOrder())
49
+ self._char_to_freq_order = None
50
+ self._table_size = None # Size of above table
51
+ # This is a constant value which varies from language to language,
52
+ # used in calculating confidence. See
53
+ # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html
54
+ # for further detail.
55
+ self.typical_distribution_ratio = None
56
+ self._done = None
57
+ self._total_chars = None
58
+ self._freq_chars = None
59
+ self.reset()
60
+
61
+ def reset(self):
62
+ """reset analyser, clear any state"""
63
+ # If this flag is set to True, detection is done and conclusion has
64
+ # been made
65
+ self._done = False
66
+ self._total_chars = 0 # Total characters encountered
67
+ # The number of characters whose frequency order is less than 512
68
+ self._freq_chars = 0
69
+
70
+ def feed(self, char, char_len):
71
+ """feed a character with known length"""
72
+ if char_len == 2:
73
+ # we only care about 2-bytes character in our distribution analysis
74
+ order = self.get_order(char)
75
+ else:
76
+ order = -1
77
+ if order >= 0:
78
+ self._total_chars += 1
79
+ # order is valid
80
+ if order < self._table_size:
81
+ if 512 > self._char_to_freq_order[order]:
82
+ self._freq_chars += 1
83
+
84
+ def get_confidence(self):
85
+ """return confidence based on existing data"""
86
+ # if we didn't receive any character in our consideration range,
87
+ # return negative answer
88
+ if self._total_chars <= 0 or self._freq_chars <= self.MINIMUM_DATA_THRESHOLD:
89
+ return self.SURE_NO
90
+
91
+ if self._total_chars != self._freq_chars:
92
+ r = (self._freq_chars / ((self._total_chars - self._freq_chars)
93
+ * self.typical_distribution_ratio))
94
+ if r < self.SURE_YES:
95
+ return r
96
+
97
+ # normalize confidence (we don't want to be 100% sure)
98
+ return self.SURE_YES
99
+
100
+ def got_enough_data(self):
101
+ # It is not necessary to receive all data to draw conclusion.
102
+ # For charset detection, certain amount of data is enough
103
+ return self._total_chars > self.ENOUGH_DATA_THRESHOLD
104
+
105
+ def get_order(self, byte_str):
106
+ # We do not handle characters based on the original encoding string,
107
+ # but convert this encoding string to a number, here called order.
108
+ # This allows multiple encodings of a language to share one frequency
109
+ # table.
110
+ return -1
111
+
112
+
113
+ class EUCTWDistributionAnalysis(CharDistributionAnalysis):
114
+ def __init__(self):
115
+ super(EUCTWDistributionAnalysis, self).__init__()
116
+ self._char_to_freq_order = EUCTW_CHAR_TO_FREQ_ORDER
117
+ self._table_size = EUCTW_TABLE_SIZE
118
+ self.typical_distribution_ratio = EUCTW_TYPICAL_DISTRIBUTION_RATIO
119
+
120
+ def get_order(self, byte_str):
121
+ # for euc-TW encoding, we are interested
122
+ # first byte range: 0xc4 -- 0xfe
123
+ # second byte range: 0xa1 -- 0xfe
124
+ # no validation needed here. State machine has done that
125
+ first_char = byte_str[0]
126
+ if first_char >= 0xC4:
127
+ return 94 * (first_char - 0xC4) + byte_str[1] - 0xA1
128
+ else:
129
+ return -1
130
+
131
+
132
+ class EUCKRDistributionAnalysis(CharDistributionAnalysis):
133
+ def __init__(self):
134
+ super(EUCKRDistributionAnalysis, self).__init__()
135
+ self._char_to_freq_order = EUCKR_CHAR_TO_FREQ_ORDER
136
+ self._table_size = EUCKR_TABLE_SIZE
137
+ self.typical_distribution_ratio = EUCKR_TYPICAL_DISTRIBUTION_RATIO
138
+
139
+ def get_order(self, byte_str):
140
+ # for euc-KR encoding, we are interested
141
+ # first byte range: 0xb0 -- 0xfe
142
+ # second byte range: 0xa1 -- 0xfe
143
+ # no validation needed here. State machine has done that
144
+ first_char = byte_str[0]
145
+ if first_char >= 0xB0:
146
+ return 94 * (first_char - 0xB0) + byte_str[1] - 0xA1
147
+ else:
148
+ return -1
149
+
150
+
151
+ class GB2312DistributionAnalysis(CharDistributionAnalysis):
152
+ def __init__(self):
153
+ super(GB2312DistributionAnalysis, self).__init__()
154
+ self._char_to_freq_order = GB2312_CHAR_TO_FREQ_ORDER
155
+ self._table_size = GB2312_TABLE_SIZE
156
+ self.typical_distribution_ratio = GB2312_TYPICAL_DISTRIBUTION_RATIO
157
+
158
+ def get_order(self, byte_str):
159
+ # for GB2312 encoding, we are interested
160
+ # first byte range: 0xb0 -- 0xfe
161
+ # second byte range: 0xa1 -- 0xfe
162
+ # no validation needed here. State machine has done that
163
+ first_char, second_char = byte_str[0], byte_str[1]
164
+ if (first_char >= 0xB0) and (second_char >= 0xA1):
165
+ return 94 * (first_char - 0xB0) + second_char - 0xA1
166
+ else:
167
+ return -1
168
+
169
+
170
+ class Big5DistributionAnalysis(CharDistributionAnalysis):
171
+ def __init__(self):
172
+ super(Big5DistributionAnalysis, self).__init__()
173
+ self._char_to_freq_order = BIG5_CHAR_TO_FREQ_ORDER
174
+ self._table_size = BIG5_TABLE_SIZE
175
+ self.typical_distribution_ratio = BIG5_TYPICAL_DISTRIBUTION_RATIO
176
+
177
+ def get_order(self, byte_str):
178
+ # for big5 encoding, we are interested
179
+ # first byte range: 0xa4 -- 0xfe
180
+ # second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe
181
+ # no validation needed here. State machine has done that
182
+ first_char, second_char = byte_str[0], byte_str[1]
183
+ if first_char >= 0xA4:
184
+ if second_char >= 0xA1:
185
+ return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63
186
+ else:
187
+ return 157 * (first_char - 0xA4) + second_char - 0x40
188
+ else:
189
+ return -1
190
+
191
+
192
+ class SJISDistributionAnalysis(CharDistributionAnalysis):
193
+ def __init__(self):
194
+ super(SJISDistributionAnalysis, self).__init__()
195
+ self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER
196
+ self._table_size = JIS_TABLE_SIZE
197
+ self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO
198
+
199
+ def get_order(self, byte_str):
200
+ # for sjis encoding, we are interested
201
+ # first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe
202
+ # second byte range: 0x40 -- 0x7e, 0x81 -- oxfe
203
+ # no validation needed here. State machine has done that
204
+ first_char, second_char = byte_str[0], byte_str[1]
205
+ if (first_char >= 0x81) and (first_char <= 0x9F):
206
+ order = 188 * (first_char - 0x81)
207
+ elif (first_char >= 0xE0) and (first_char <= 0xEF):
208
+ order = 188 * (first_char - 0xE0 + 31)
209
+ else:
210
+ return -1
211
+ order = order + second_char - 0x40
212
+ if second_char > 0x7F:
213
+ order = -1
214
+ return order
215
+
216
+
217
+ class EUCJPDistributionAnalysis(CharDistributionAnalysis):
218
+ def __init__(self):
219
+ super(EUCJPDistributionAnalysis, self).__init__()
220
+ self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER
221
+ self._table_size = JIS_TABLE_SIZE
222
+ self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO
223
+
224
+ def get_order(self, byte_str):
225
+ # for euc-JP encoding, we are interested
226
+ # first byte range: 0xa0 -- 0xfe
227
+ # second byte range: 0xa1 -- 0xfe
228
+ # no validation needed here. State machine has done that
229
+ char = byte_str[0]
230
+ if char >= 0xA0:
231
+ return 94 * (char - 0xA1) + byte_str[1] - 0xa1
232
+ else:
233
+ return -1
@@ -0,0 +1,106 @@
1
+ ######################## BEGIN LICENSE BLOCK ########################
2
+ # The Original Code is Mozilla Communicator client 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
+ from .enums import ProbingState
29
+ from .charsetprober import CharSetProber
30
+
31
+
32
+ class CharSetGroupProber(CharSetProber):
33
+ def __init__(self, lang_filter=None):
34
+ super(CharSetGroupProber, self).__init__(lang_filter=lang_filter)
35
+ self._active_num = 0
36
+ self.probers = []
37
+ self._best_guess_prober = None
38
+
39
+ def reset(self):
40
+ super(CharSetGroupProber, self).reset()
41
+ self._active_num = 0
42
+ for prober in self.probers:
43
+ if prober:
44
+ prober.reset()
45
+ prober.active = True
46
+ self._active_num += 1
47
+ self._best_guess_prober = None
48
+
49
+ @property
50
+ def charset_name(self):
51
+ if not self._best_guess_prober:
52
+ self.get_confidence()
53
+ if not self._best_guess_prober:
54
+ return None
55
+ return self._best_guess_prober.charset_name
56
+
57
+ @property
58
+ def language(self):
59
+ if not self._best_guess_prober:
60
+ self.get_confidence()
61
+ if not self._best_guess_prober:
62
+ return None
63
+ return self._best_guess_prober.language
64
+
65
+ def feed(self, byte_str):
66
+ for prober in self.probers:
67
+ if not prober:
68
+ continue
69
+ if not prober.active:
70
+ continue
71
+ state = prober.feed(byte_str)
72
+ if not state:
73
+ continue
74
+ if state == ProbingState.FOUND_IT:
75
+ self._best_guess_prober = prober
76
+ return self.state
77
+ elif state == ProbingState.NOT_ME:
78
+ prober.active = False
79
+ self._active_num -= 1
80
+ if self._active_num <= 0:
81
+ self._state = ProbingState.NOT_ME
82
+ return self.state
83
+ return self.state
84
+
85
+ def get_confidence(self):
86
+ state = self.state
87
+ if state == ProbingState.FOUND_IT:
88
+ return 0.99
89
+ elif state == ProbingState.NOT_ME:
90
+ return 0.01
91
+ best_conf = 0.0
92
+ self._best_guess_prober = None
93
+ for prober in self.probers:
94
+ if not prober:
95
+ continue
96
+ if not prober.active:
97
+ self.logger.debug('%s not active', prober.charset_name)
98
+ continue
99
+ conf = prober.get_confidence()
100
+ self.logger.debug('%s %s confidence = %s', prober.charset_name, prober.language, conf)
101
+ if best_conf < conf:
102
+ best_conf = conf
103
+ self._best_guess_prober = prober
104
+ if not self._best_guess_prober:
105
+ return 0.0
106
+ return best_conf