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,337 +1,340 @@
1
- from __future__ import absolute_import, division, unicode_literals
2
- from pip._vendor.six import text_type
3
-
4
- import re
5
-
6
- from . import _base
7
- from .. import ihatexml
8
- from .. import constants
9
- from ..constants import namespaces
10
- from ..utils import moduleFactoryFactory
11
-
12
- tag_regexp = re.compile("{([^}]*)}(.*)")
13
-
14
-
15
- def getETreeBuilder(ElementTreeImplementation, fullTree=False):
16
- ElementTree = ElementTreeImplementation
17
- ElementTreeCommentType = ElementTree.Comment("asd").tag
18
-
19
- class Element(_base.Node):
20
- def __init__(self, name, namespace=None):
21
- self._name = name
22
- self._namespace = namespace
23
- self._element = ElementTree.Element(self._getETreeTag(name,
24
- namespace))
25
- if namespace is None:
26
- self.nameTuple = namespaces["html"], self._name
27
- else:
28
- self.nameTuple = self._namespace, self._name
29
- self.parent = None
30
- self._childNodes = []
31
- self._flags = []
32
-
33
- def _getETreeTag(self, name, namespace):
34
- if namespace is None:
35
- etree_tag = name
36
- else:
37
- etree_tag = "{%s}%s" % (namespace, name)
38
- return etree_tag
39
-
40
- def _setName(self, name):
41
- self._name = name
42
- self._element.tag = self._getETreeTag(self._name, self._namespace)
43
-
44
- def _getName(self):
45
- return self._name
46
-
47
- name = property(_getName, _setName)
48
-
49
- def _setNamespace(self, namespace):
50
- self._namespace = namespace
51
- self._element.tag = self._getETreeTag(self._name, self._namespace)
52
-
53
- def _getNamespace(self):
54
- return self._namespace
55
-
56
- namespace = property(_getNamespace, _setNamespace)
57
-
58
- def _getAttributes(self):
59
- return self._element.attrib
60
-
61
- def _setAttributes(self, attributes):
62
- # Delete existing attributes first
63
- # XXX - there may be a better way to do this...
64
- for key in list(self._element.attrib.keys()):
65
- del self._element.attrib[key]
66
- for key, value in attributes.items():
67
- if isinstance(key, tuple):
68
- name = "{%s}%s" % (key[2], key[1])
69
- else:
70
- name = key
71
- self._element.set(name, value)
72
-
73
- attributes = property(_getAttributes, _setAttributes)
74
-
75
- def _getChildNodes(self):
76
- return self._childNodes
77
-
78
- def _setChildNodes(self, value):
79
- del self._element[:]
80
- self._childNodes = []
81
- for element in value:
82
- self.insertChild(element)
83
-
84
- childNodes = property(_getChildNodes, _setChildNodes)
85
-
86
- def hasContent(self):
87
- """Return true if the node has children or text"""
88
- return bool(self._element.text or len(self._element))
89
-
90
- def appendChild(self, node):
91
- self._childNodes.append(node)
92
- self._element.append(node._element)
93
- node.parent = self
94
-
95
- def insertBefore(self, node, refNode):
96
- index = list(self._element).index(refNode._element)
97
- self._element.insert(index, node._element)
98
- node.parent = self
99
-
100
- def removeChild(self, node):
101
- self._element.remove(node._element)
102
- node.parent = None
103
-
104
- def insertText(self, data, insertBefore=None):
105
- if not(len(self._element)):
106
- if not self._element.text:
107
- self._element.text = ""
108
- self._element.text += data
109
- elif insertBefore is None:
110
- # Insert the text as the tail of the last child element
111
- if not self._element[-1].tail:
112
- self._element[-1].tail = ""
113
- self._element[-1].tail += data
114
- else:
115
- # Insert the text before the specified node
116
- children = list(self._element)
117
- index = children.index(insertBefore._element)
118
- if index > 0:
119
- if not self._element[index - 1].tail:
120
- self._element[index - 1].tail = ""
121
- self._element[index - 1].tail += data
122
- else:
123
- if not self._element.text:
124
- self._element.text = ""
125
- self._element.text += data
126
-
127
- def cloneNode(self):
128
- element = type(self)(self.name, self.namespace)
129
- for name, value in self.attributes.items():
130
- element.attributes[name] = value
131
- return element
132
-
133
- def reparentChildren(self, newParent):
134
- if newParent.childNodes:
135
- newParent.childNodes[-1]._element.tail += self._element.text
136
- else:
137
- if not newParent._element.text:
138
- newParent._element.text = ""
139
- if self._element.text is not None:
140
- newParent._element.text += self._element.text
141
- self._element.text = ""
142
- _base.Node.reparentChildren(self, newParent)
143
-
144
- class Comment(Element):
145
- def __init__(self, data):
146
- # Use the superclass constructor to set all properties on the
147
- # wrapper element
148
- self._element = ElementTree.Comment(data)
149
- self.parent = None
150
- self._childNodes = []
151
- self._flags = []
152
-
153
- def _getData(self):
154
- return self._element.text
155
-
156
- def _setData(self, value):
157
- self._element.text = value
158
-
159
- data = property(_getData, _setData)
160
-
161
- class DocumentType(Element):
162
- def __init__(self, name, publicId, systemId):
163
- Element.__init__(self, "<!DOCTYPE>")
164
- self._element.text = name
165
- self.publicId = publicId
166
- self.systemId = systemId
167
-
168
- def _getPublicId(self):
169
- return self._element.get("publicId", "")
170
-
171
- def _setPublicId(self, value):
172
- if value is not None:
173
- self._element.set("publicId", value)
174
-
175
- publicId = property(_getPublicId, _setPublicId)
176
-
177
- def _getSystemId(self):
178
- return self._element.get("systemId", "")
179
-
180
- def _setSystemId(self, value):
181
- if value is not None:
182
- self._element.set("systemId", value)
183
-
184
- systemId = property(_getSystemId, _setSystemId)
185
-
186
- class Document(Element):
187
- def __init__(self):
188
- Element.__init__(self, "DOCUMENT_ROOT")
189
-
190
- class DocumentFragment(Element):
191
- def __init__(self):
192
- Element.__init__(self, "DOCUMENT_FRAGMENT")
193
-
194
- def testSerializer(element):
195
- rv = []
196
-
197
- def serializeElement(element, indent=0):
198
- if not(hasattr(element, "tag")):
199
- element = element.getroot()
200
- if element.tag == "<!DOCTYPE>":
201
- if element.get("publicId") or element.get("systemId"):
202
- publicId = element.get("publicId") or ""
203
- systemId = element.get("systemId") or ""
204
- rv.append("""<!DOCTYPE %s "%s" "%s">""" %
205
- (element.text, publicId, systemId))
206
- else:
207
- rv.append("<!DOCTYPE %s>" % (element.text,))
208
- elif element.tag == "DOCUMENT_ROOT":
209
- rv.append("#document")
210
- if element.text is not None:
211
- rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text))
212
- if element.tail is not None:
213
- raise TypeError("Document node cannot have tail")
214
- if hasattr(element, "attrib") and len(element.attrib):
215
- raise TypeError("Document node cannot have attributes")
216
- elif element.tag == ElementTreeCommentType:
217
- rv.append("|%s<!-- %s -->" % (' ' * indent, element.text))
218
- else:
219
- assert isinstance(element.tag, text_type), \
220
- "Expected unicode, got %s, %s" % (type(element.tag), element.tag)
221
- nsmatch = tag_regexp.match(element.tag)
222
-
223
- if nsmatch is None:
224
- name = element.tag
225
- else:
226
- ns, name = nsmatch.groups()
227
- prefix = constants.prefixes[ns]
228
- name = "%s %s" % (prefix, name)
229
- rv.append("|%s<%s>" % (' ' * indent, name))
230
-
231
- if hasattr(element, "attrib"):
232
- attributes = []
233
- for name, value in element.attrib.items():
234
- nsmatch = tag_regexp.match(name)
235
- if nsmatch is not None:
236
- ns, name = nsmatch.groups()
237
- prefix = constants.prefixes[ns]
238
- attr_string = "%s %s" % (prefix, name)
239
- else:
240
- attr_string = name
241
- attributes.append((attr_string, value))
242
-
243
- for name, value in sorted(attributes):
244
- rv.append('|%s%s="%s"' % (' ' * (indent + 2), name, value))
245
- if element.text:
246
- rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text))
247
- indent += 2
248
- for child in element:
249
- serializeElement(child, indent)
250
- if element.tail:
251
- rv.append("|%s\"%s\"" % (' ' * (indent - 2), element.tail))
252
- serializeElement(element, 0)
253
-
254
- return "\n".join(rv)
255
-
256
- def tostring(element):
257
- """Serialize an element and its child nodes to a string"""
258
- rv = []
259
- filter = ihatexml.InfosetFilter()
260
-
261
- def serializeElement(element):
262
- if isinstance(element, ElementTree.ElementTree):
263
- element = element.getroot()
264
-
265
- if element.tag == "<!DOCTYPE>":
266
- if element.get("publicId") or element.get("systemId"):
267
- publicId = element.get("publicId") or ""
268
- systemId = element.get("systemId") or ""
269
- rv.append("""<!DOCTYPE %s PUBLIC "%s" "%s">""" %
270
- (element.text, publicId, systemId))
271
- else:
272
- rv.append("<!DOCTYPE %s>" % (element.text,))
273
- elif element.tag == "DOCUMENT_ROOT":
274
- if element.text is not None:
275
- rv.append(element.text)
276
- if element.tail is not None:
277
- raise TypeError("Document node cannot have tail")
278
- if hasattr(element, "attrib") and len(element.attrib):
279
- raise TypeError("Document node cannot have attributes")
280
-
281
- for child in element:
282
- serializeElement(child)
283
-
284
- elif element.tag == ElementTreeCommentType:
285
- rv.append("<!--%s-->" % (element.text,))
286
- else:
287
- # This is assumed to be an ordinary element
288
- if not element.attrib:
289
- rv.append("<%s>" % (filter.fromXmlName(element.tag),))
290
- else:
291
- attr = " ".join(["%s=\"%s\"" % (
292
- filter.fromXmlName(name), value)
293
- for name, value in element.attrib.items()])
294
- rv.append("<%s %s>" % (element.tag, attr))
295
- if element.text:
296
- rv.append(element.text)
297
-
298
- for child in element:
299
- serializeElement(child)
300
-
301
- rv.append("</%s>" % (element.tag,))
302
-
303
- if element.tail:
304
- rv.append(element.tail)
305
-
306
- serializeElement(element)
307
-
308
- return "".join(rv)
309
-
310
- class TreeBuilder(_base.TreeBuilder):
311
- documentClass = Document
312
- doctypeClass = DocumentType
313
- elementClass = Element
314
- commentClass = Comment
315
- fragmentClass = DocumentFragment
316
- implementation = ElementTreeImplementation
317
-
318
- def testSerializer(self, element):
319
- return testSerializer(element)
320
-
321
- def getDocument(self):
322
- if fullTree:
323
- return self.document._element
324
- else:
325
- if self.defaultNamespace is not None:
326
- return self.document._element.find(
327
- "{%s}html" % self.defaultNamespace)
328
- else:
329
- return self.document._element.find("html")
330
-
331
- def getFragment(self):
332
- return _base.TreeBuilder.getFragment(self)._element
333
-
334
- return locals()
335
-
336
-
337
- getETreeModule = moduleFactoryFactory(getETreeBuilder)
1
+ from __future__ import absolute_import, division, unicode_literals
2
+ # pylint:disable=protected-access
3
+
4
+ from pip._vendor.six import text_type
5
+
6
+ import re
7
+
8
+ from . import base
9
+ from .. import _ihatexml
10
+ from .. import constants
11
+ from ..constants import namespaces
12
+ from .._utils import moduleFactoryFactory
13
+
14
+ tag_regexp = re.compile("{([^}]*)}(.*)")
15
+
16
+
17
+ def getETreeBuilder(ElementTreeImplementation, fullTree=False):
18
+ ElementTree = ElementTreeImplementation
19
+ ElementTreeCommentType = ElementTree.Comment("asd").tag
20
+
21
+ class Element(base.Node):
22
+ def __init__(self, name, namespace=None):
23
+ self._name = name
24
+ self._namespace = namespace
25
+ self._element = ElementTree.Element(self._getETreeTag(name,
26
+ namespace))
27
+ if namespace is None:
28
+ self.nameTuple = namespaces["html"], self._name
29
+ else:
30
+ self.nameTuple = self._namespace, self._name
31
+ self.parent = None
32
+ self._childNodes = []
33
+ self._flags = []
34
+
35
+ def _getETreeTag(self, name, namespace):
36
+ if namespace is None:
37
+ etree_tag = name
38
+ else:
39
+ etree_tag = "{%s}%s" % (namespace, name)
40
+ return etree_tag
41
+
42
+ def _setName(self, name):
43
+ self._name = name
44
+ self._element.tag = self._getETreeTag(self._name, self._namespace)
45
+
46
+ def _getName(self):
47
+ return self._name
48
+
49
+ name = property(_getName, _setName)
50
+
51
+ def _setNamespace(self, namespace):
52
+ self._namespace = namespace
53
+ self._element.tag = self._getETreeTag(self._name, self._namespace)
54
+
55
+ def _getNamespace(self):
56
+ return self._namespace
57
+
58
+ namespace = property(_getNamespace, _setNamespace)
59
+
60
+ def _getAttributes(self):
61
+ return self._element.attrib
62
+
63
+ def _setAttributes(self, attributes):
64
+ # Delete existing attributes first
65
+ # XXX - there may be a better way to do this...
66
+ for key in list(self._element.attrib.keys()):
67
+ del self._element.attrib[key]
68
+ for key, value in attributes.items():
69
+ if isinstance(key, tuple):
70
+ name = "{%s}%s" % (key[2], key[1])
71
+ else:
72
+ name = key
73
+ self._element.set(name, value)
74
+
75
+ attributes = property(_getAttributes, _setAttributes)
76
+
77
+ def _getChildNodes(self):
78
+ return self._childNodes
79
+
80
+ def _setChildNodes(self, value):
81
+ del self._element[:]
82
+ self._childNodes = []
83
+ for element in value:
84
+ self.insertChild(element)
85
+
86
+ childNodes = property(_getChildNodes, _setChildNodes)
87
+
88
+ def hasContent(self):
89
+ """Return true if the node has children or text"""
90
+ return bool(self._element.text or len(self._element))
91
+
92
+ def appendChild(self, node):
93
+ self._childNodes.append(node)
94
+ self._element.append(node._element)
95
+ node.parent = self
96
+
97
+ def insertBefore(self, node, refNode):
98
+ index = list(self._element).index(refNode._element)
99
+ self._element.insert(index, node._element)
100
+ node.parent = self
101
+
102
+ def removeChild(self, node):
103
+ self._childNodes.remove(node)
104
+ self._element.remove(node._element)
105
+ node.parent = None
106
+
107
+ def insertText(self, data, insertBefore=None):
108
+ if not(len(self._element)):
109
+ if not self._element.text:
110
+ self._element.text = ""
111
+ self._element.text += data
112
+ elif insertBefore is None:
113
+ # Insert the text as the tail of the last child element
114
+ if not self._element[-1].tail:
115
+ self._element[-1].tail = ""
116
+ self._element[-1].tail += data
117
+ else:
118
+ # Insert the text before the specified node
119
+ children = list(self._element)
120
+ index = children.index(insertBefore._element)
121
+ if index > 0:
122
+ if not self._element[index - 1].tail:
123
+ self._element[index - 1].tail = ""
124
+ self._element[index - 1].tail += data
125
+ else:
126
+ if not self._element.text:
127
+ self._element.text = ""
128
+ self._element.text += data
129
+
130
+ def cloneNode(self):
131
+ element = type(self)(self.name, self.namespace)
132
+ for name, value in self.attributes.items():
133
+ element.attributes[name] = value
134
+ return element
135
+
136
+ def reparentChildren(self, newParent):
137
+ if newParent.childNodes:
138
+ newParent.childNodes[-1]._element.tail += self._element.text
139
+ else:
140
+ if not newParent._element.text:
141
+ newParent._element.text = ""
142
+ if self._element.text is not None:
143
+ newParent._element.text += self._element.text
144
+ self._element.text = ""
145
+ base.Node.reparentChildren(self, newParent)
146
+
147
+ class Comment(Element):
148
+ def __init__(self, data):
149
+ # Use the superclass constructor to set all properties on the
150
+ # wrapper element
151
+ self._element = ElementTree.Comment(data)
152
+ self.parent = None
153
+ self._childNodes = []
154
+ self._flags = []
155
+
156
+ def _getData(self):
157
+ return self._element.text
158
+
159
+ def _setData(self, value):
160
+ self._element.text = value
161
+
162
+ data = property(_getData, _setData)
163
+
164
+ class DocumentType(Element):
165
+ def __init__(self, name, publicId, systemId):
166
+ Element.__init__(self, "<!DOCTYPE>")
167
+ self._element.text = name
168
+ self.publicId = publicId
169
+ self.systemId = systemId
170
+
171
+ def _getPublicId(self):
172
+ return self._element.get("publicId", "")
173
+
174
+ def _setPublicId(self, value):
175
+ if value is not None:
176
+ self._element.set("publicId", value)
177
+
178
+ publicId = property(_getPublicId, _setPublicId)
179
+
180
+ def _getSystemId(self):
181
+ return self._element.get("systemId", "")
182
+
183
+ def _setSystemId(self, value):
184
+ if value is not None:
185
+ self._element.set("systemId", value)
186
+
187
+ systemId = property(_getSystemId, _setSystemId)
188
+
189
+ class Document(Element):
190
+ def __init__(self):
191
+ Element.__init__(self, "DOCUMENT_ROOT")
192
+
193
+ class DocumentFragment(Element):
194
+ def __init__(self):
195
+ Element.__init__(self, "DOCUMENT_FRAGMENT")
196
+
197
+ def testSerializer(element):
198
+ rv = []
199
+
200
+ def serializeElement(element, indent=0):
201
+ if not(hasattr(element, "tag")):
202
+ element = element.getroot()
203
+ if element.tag == "<!DOCTYPE>":
204
+ if element.get("publicId") or element.get("systemId"):
205
+ publicId = element.get("publicId") or ""
206
+ systemId = element.get("systemId") or ""
207
+ rv.append("""<!DOCTYPE %s "%s" "%s">""" %
208
+ (element.text, publicId, systemId))
209
+ else:
210
+ rv.append("<!DOCTYPE %s>" % (element.text,))
211
+ elif element.tag == "DOCUMENT_ROOT":
212
+ rv.append("#document")
213
+ if element.text is not None:
214
+ rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text))
215
+ if element.tail is not None:
216
+ raise TypeError("Document node cannot have tail")
217
+ if hasattr(element, "attrib") and len(element.attrib):
218
+ raise TypeError("Document node cannot have attributes")
219
+ elif element.tag == ElementTreeCommentType:
220
+ rv.append("|%s<!-- %s -->" % (' ' * indent, element.text))
221
+ else:
222
+ assert isinstance(element.tag, text_type), \
223
+ "Expected unicode, got %s, %s" % (type(element.tag), element.tag)
224
+ nsmatch = tag_regexp.match(element.tag)
225
+
226
+ if nsmatch is None:
227
+ name = element.tag
228
+ else:
229
+ ns, name = nsmatch.groups()
230
+ prefix = constants.prefixes[ns]
231
+ name = "%s %s" % (prefix, name)
232
+ rv.append("|%s<%s>" % (' ' * indent, name))
233
+
234
+ if hasattr(element, "attrib"):
235
+ attributes = []
236
+ for name, value in element.attrib.items():
237
+ nsmatch = tag_regexp.match(name)
238
+ if nsmatch is not None:
239
+ ns, name = nsmatch.groups()
240
+ prefix = constants.prefixes[ns]
241
+ attr_string = "%s %s" % (prefix, name)
242
+ else:
243
+ attr_string = name
244
+ attributes.append((attr_string, value))
245
+
246
+ for name, value in sorted(attributes):
247
+ rv.append('|%s%s="%s"' % (' ' * (indent + 2), name, value))
248
+ if element.text:
249
+ rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text))
250
+ indent += 2
251
+ for child in element:
252
+ serializeElement(child, indent)
253
+ if element.tail:
254
+ rv.append("|%s\"%s\"" % (' ' * (indent - 2), element.tail))
255
+ serializeElement(element, 0)
256
+
257
+ return "\n".join(rv)
258
+
259
+ def tostring(element): # pylint:disable=unused-variable
260
+ """Serialize an element and its child nodes to a string"""
261
+ rv = []
262
+ filter = _ihatexml.InfosetFilter()
263
+
264
+ def serializeElement(element):
265
+ if isinstance(element, ElementTree.ElementTree):
266
+ element = element.getroot()
267
+
268
+ if element.tag == "<!DOCTYPE>":
269
+ if element.get("publicId") or element.get("systemId"):
270
+ publicId = element.get("publicId") or ""
271
+ systemId = element.get("systemId") or ""
272
+ rv.append("""<!DOCTYPE %s PUBLIC "%s" "%s">""" %
273
+ (element.text, publicId, systemId))
274
+ else:
275
+ rv.append("<!DOCTYPE %s>" % (element.text,))
276
+ elif element.tag == "DOCUMENT_ROOT":
277
+ if element.text is not None:
278
+ rv.append(element.text)
279
+ if element.tail is not None:
280
+ raise TypeError("Document node cannot have tail")
281
+ if hasattr(element, "attrib") and len(element.attrib):
282
+ raise TypeError("Document node cannot have attributes")
283
+
284
+ for child in element:
285
+ serializeElement(child)
286
+
287
+ elif element.tag == ElementTreeCommentType:
288
+ rv.append("<!--%s-->" % (element.text,))
289
+ else:
290
+ # This is assumed to be an ordinary element
291
+ if not element.attrib:
292
+ rv.append("<%s>" % (filter.fromXmlName(element.tag),))
293
+ else:
294
+ attr = " ".join(["%s=\"%s\"" % (
295
+ filter.fromXmlName(name), value)
296
+ for name, value in element.attrib.items()])
297
+ rv.append("<%s %s>" % (element.tag, attr))
298
+ if element.text:
299
+ rv.append(element.text)
300
+
301
+ for child in element:
302
+ serializeElement(child)
303
+
304
+ rv.append("</%s>" % (element.tag,))
305
+
306
+ if element.tail:
307
+ rv.append(element.tail)
308
+
309
+ serializeElement(element)
310
+
311
+ return "".join(rv)
312
+
313
+ class TreeBuilder(base.TreeBuilder): # pylint:disable=unused-variable
314
+ documentClass = Document
315
+ doctypeClass = DocumentType
316
+ elementClass = Element
317
+ commentClass = Comment
318
+ fragmentClass = DocumentFragment
319
+ implementation = ElementTreeImplementation
320
+
321
+ def testSerializer(self, element):
322
+ return testSerializer(element)
323
+
324
+ def getDocument(self):
325
+ if fullTree:
326
+ return self.document._element
327
+ else:
328
+ if self.defaultNamespace is not None:
329
+ return self.document._element.find(
330
+ "{%s}html" % self.defaultNamespace)
331
+ else:
332
+ return self.document._element.find("html")
333
+
334
+ def getFragment(self):
335
+ return base.TreeBuilder.getFragment(self)._element
336
+
337
+ return locals()
338
+
339
+
340
+ getETreeModule = moduleFactoryFactory(getETreeBuilder)