libv8 7.3.492.27.1 → 8.4.255.0

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 (718) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +11 -14
  4. data/CHANGELOG.md +10 -0
  5. data/README.md +10 -11
  6. data/Rakefile +30 -36
  7. data/ext/libv8/builder.rb +1 -1
  8. data/lib/libv8/version.rb +1 -1
  9. data/libv8.gemspec +1 -3
  10. data/vendor/depot_tools/{cipd.ps1 → .cipd_impl.ps1} +0 -0
  11. data/vendor/depot_tools/.gitattributes +1 -1
  12. data/vendor/depot_tools/.gitignore +7 -2
  13. data/vendor/depot_tools/.style.yapf +3 -1
  14. data/vendor/depot_tools/.vpython +55 -0
  15. data/vendor/depot_tools/.vpython3 +23 -0
  16. data/vendor/depot_tools/CROS_OWNERS +3 -1
  17. data/vendor/depot_tools/GOMA_OWNERS +9 -0
  18. data/vendor/depot_tools/LUCI_OWNERS +5 -0
  19. data/vendor/depot_tools/OWNERS +21 -6
  20. data/vendor/depot_tools/PRESUBMIT.py +35 -18
  21. data/vendor/depot_tools/README.git-cl.md +0 -14
  22. data/vendor/depot_tools/README.md +1 -1
  23. data/vendor/depot_tools/WATCHLISTS +2 -2
  24. data/vendor/depot_tools/auth.py +60 -772
  25. data/vendor/depot_tools/autoninja +12 -6
  26. data/vendor/depot_tools/autoninja.bat +14 -6
  27. data/vendor/depot_tools/autoninja.py +64 -27
  28. data/vendor/depot_tools/bb +1 -1
  29. data/vendor/depot_tools/bootstrap/{win/README.md → README.md} +28 -14
  30. data/vendor/depot_tools/bootstrap/{win/win_tools.py → bootstrap.py} +60 -43
  31. data/vendor/depot_tools/bootstrap/{win/git-bash.template.sh → git-bash.template.sh} +1 -1
  32. data/vendor/depot_tools/bootstrap/{win/git.template.bat → git.template.bat} +0 -0
  33. data/vendor/depot_tools/bootstrap/manifest.txt +27 -0
  34. data/vendor/depot_tools/bootstrap/manifest_bleeding_edge.txt +27 -0
  35. data/vendor/depot_tools/bootstrap/{win/profile.d.python.sh → profile.d.python.sh} +0 -0
  36. data/vendor/depot_tools/bootstrap/{win/python27.bleeding_edge.bat → python27.bat} +0 -0
  37. data/vendor/depot_tools/bootstrap/{win/python27.new.bat → python3.bat} +3 -3
  38. data/vendor/depot_tools/bootstrap/{win/win_tools.bat → win_tools.bat} +21 -16
  39. data/vendor/depot_tools/bootstrap_python3 +35 -0
  40. data/vendor/depot_tools/cbuildbot +1 -1
  41. data/vendor/depot_tools/chrome_set_ver +1 -1
  42. data/vendor/depot_tools/cipd +43 -39
  43. data/vendor/depot_tools/cipd.bat +2 -2
  44. data/vendor/depot_tools/cipd_client_version +1 -1
  45. data/vendor/depot_tools/cipd_client_version.digests +15 -14
  46. data/vendor/depot_tools/cipd_manifest.txt +31 -8
  47. data/vendor/depot_tools/cipd_manifest.versions +278 -158
  48. data/vendor/depot_tools/cit.py +9 -7
  49. data/vendor/depot_tools/clang_format.py +4 -1
  50. data/vendor/depot_tools/clang_format_merge_driver.py +10 -8
  51. data/vendor/depot_tools/compile_single_file.py +7 -2
  52. data/vendor/depot_tools/cpplint.py +51 -45
  53. data/vendor/depot_tools/cros +87 -0
  54. data/vendor/depot_tools/cros_sdk +1 -1
  55. data/vendor/depot_tools/crosjobs +13 -0
  56. data/vendor/depot_tools/detect_host_arch.py +0 -1
  57. data/vendor/depot_tools/dirmd +12 -0
  58. data/vendor/depot_tools/dirmd.bat +7 -0
  59. data/vendor/depot_tools/download_from_google_storage.py +47 -27
  60. data/vendor/depot_tools/ensure_bootstrap +14 -0
  61. data/vendor/depot_tools/fetch +14 -1
  62. data/vendor/depot_tools/fetch.bat +14 -1
  63. data/vendor/depot_tools/fetch.py +5 -7
  64. data/vendor/depot_tools/fetch_configs/chromium.py +6 -4
  65. data/vendor/depot_tools/fetch_configs/devtools-frontend.py +44 -0
  66. data/vendor/depot_tools/fetch_configs/ios_internal.py +10 -19
  67. data/vendor/depot_tools/fix_encoding.py +19 -5
  68. data/vendor/depot_tools/gclient +28 -12
  69. data/vendor/depot_tools/gclient-new-workdir.py +2 -0
  70. data/vendor/depot_tools/gclient.bat +18 -1
  71. data/vendor/depot_tools/gclient.py +160 -119
  72. data/vendor/depot_tools/gclient_eval.py +119 -107
  73. data/vendor/depot_tools/gclient_paths.py +67 -57
  74. data/vendor/depot_tools/gclient_scm.py +181 -159
  75. data/vendor/depot_tools/gclient_utils.py +177 -124
  76. data/vendor/depot_tools/gerrit_client.py +21 -13
  77. data/vendor/depot_tools/gerrit_util.py +188 -228
  78. data/vendor/depot_tools/git-cache +1 -1
  79. data/vendor/depot_tools/git-cl +1 -1
  80. data/vendor/depot_tools/git-drover +1 -1
  81. data/vendor/depot_tools/git-find-releases +1 -1
  82. data/vendor/depot_tools/git-footers +1 -1
  83. data/vendor/depot_tools/git-freeze +1 -1
  84. data/vendor/depot_tools/git-hyper-blame +1 -1
  85. data/vendor/depot_tools/git-map +1 -1
  86. data/vendor/depot_tools/git-map-branches +1 -1
  87. data/vendor/depot_tools/git-mark-merge-base +1 -1
  88. data/vendor/depot_tools/git-nav-downstream +1 -1
  89. data/vendor/depot_tools/git-new-branch +1 -1
  90. data/vendor/depot_tools/git-number +1 -1
  91. data/vendor/depot_tools/git-rebase-update +1 -1
  92. data/vendor/depot_tools/git-rename-branch +1 -1
  93. data/vendor/depot_tools/git-reparent-branch +1 -1
  94. data/vendor/depot_tools/git-retry +1 -1
  95. data/vendor/depot_tools/git-squash-branch +1 -1
  96. data/vendor/depot_tools/git-thaw +1 -1
  97. data/vendor/depot_tools/git-upstream-diff +1 -1
  98. data/vendor/depot_tools/git_cache.py +255 -360
  99. data/vendor/depot_tools/git_cl.py +1562 -2059
  100. data/vendor/depot_tools/git_cl_completion.sh +16 -2
  101. data/vendor/depot_tools/git_common.py +77 -32
  102. data/vendor/depot_tools/git_drover.py +17 -8
  103. data/vendor/depot_tools/git_find_releases.py +11 -9
  104. data/vendor/depot_tools/git_footers.py +13 -9
  105. data/vendor/depot_tools/git_freezer.py +3 -1
  106. data/vendor/depot_tools/git_hyper_blame.py +25 -32
  107. data/vendor/depot_tools/git_map.py +115 -93
  108. data/vendor/depot_tools/git_map_branches.py +11 -10
  109. data/vendor/depot_tools/git_mark_merge_base.py +8 -6
  110. data/vendor/depot_tools/git_nav_downstream.py +9 -6
  111. data/vendor/depot_tools/git_new_branch.py +39 -33
  112. data/vendor/depot_tools/git_number.py +28 -17
  113. data/vendor/depot_tools/git_rebase_update.py +50 -49
  114. data/vendor/depot_tools/git_rename_branch.py +2 -2
  115. data/vendor/depot_tools/git_reparent_branch.py +8 -6
  116. data/vendor/depot_tools/git_upstream_diff.py +4 -2
  117. data/vendor/depot_tools/gn.py +6 -4
  118. data/vendor/depot_tools/goma_auth +12 -0
  119. data/vendor/depot_tools/goma_auth.bat +8 -0
  120. data/vendor/depot_tools/goma_ctl +12 -0
  121. data/vendor/depot_tools/goma_ctl.bat +8 -0
  122. data/vendor/depot_tools/gsutil.py +5 -2
  123. data/vendor/depot_tools/gsutil.py.bat +8 -0
  124. data/vendor/depot_tools/gsutil.vpython +3 -1
  125. data/vendor/depot_tools/infra/config/OWNERS +2 -2
  126. data/vendor/depot_tools/infra/config/recipes.cfg +3 -2
  127. data/vendor/depot_tools/led +1 -1
  128. data/vendor/depot_tools/lockfile.py +116 -0
  129. data/vendor/depot_tools/luci-auth +1 -1
  130. data/vendor/depot_tools/lucicfg +1 -1
  131. data/vendor/depot_tools/mac_toolchain +1 -1
  132. data/vendor/depot_tools/man/html/depot_tools.html +1 -1
  133. data/vendor/depot_tools/man/html/depot_tools_tutorial.html +31 -25
  134. data/vendor/depot_tools/man/html/git-cl.html +1 -1
  135. data/vendor/depot_tools/man/html/git-drover.html +18 -18
  136. data/vendor/depot_tools/man/html/git-footers.html +1 -1
  137. data/vendor/depot_tools/man/html/git-freeze.html +3 -3
  138. data/vendor/depot_tools/man/html/git-hyper-blame.html +1 -1
  139. data/vendor/depot_tools/man/html/git-map-branches.html +2 -2
  140. data/vendor/depot_tools/man/html/git-map.html +1 -1
  141. data/vendor/depot_tools/man/html/git-mark-merge-base.html +1 -1
  142. data/vendor/depot_tools/man/html/git-nav-downstream.html +3 -3
  143. data/vendor/depot_tools/man/html/git-nav-upstream.html +12 -6
  144. data/vendor/depot_tools/man/html/git-new-branch.html +1 -1
  145. data/vendor/depot_tools/man/html/git-rebase-update.html +20 -1
  146. data/vendor/depot_tools/man/html/git-rename-branch.html +1 -1
  147. data/vendor/depot_tools/man/html/git-reparent-branch.html +1 -1
  148. data/vendor/depot_tools/man/html/git-retry.html +1 -1
  149. data/vendor/depot_tools/man/html/git-squash-branch.html +1 -1
  150. data/vendor/depot_tools/man/html/git-thaw.html +1 -1
  151. data/vendor/depot_tools/man/html/git-upstream-diff.html +10 -6
  152. data/vendor/depot_tools/man/man1/git-cl.1 +4 -4
  153. data/vendor/depot_tools/man/man1/git-drover.1 +21 -21
  154. data/vendor/depot_tools/man/man1/git-footers.1 +4 -4
  155. data/vendor/depot_tools/man/man1/git-freeze.1 +6 -6
  156. data/vendor/depot_tools/man/man1/git-hyper-blame.1 +4 -4
  157. data/vendor/depot_tools/man/man1/git-map-branches.1 +4 -4
  158. data/vendor/depot_tools/man/man1/git-map.1 +4 -4
  159. data/vendor/depot_tools/man/man1/git-mark-merge-base.1 +4 -4
  160. data/vendor/depot_tools/man/man1/git-nav-downstream.1 +6 -6
  161. data/vendor/depot_tools/man/man1/git-nav-upstream.1 +15 -9
  162. data/vendor/depot_tools/man/man1/git-new-branch.1 +3 -3
  163. data/vendor/depot_tools/man/man1/git-rebase-update.1 +14 -4
  164. data/vendor/depot_tools/man/man1/git-rename-branch.1 +4 -4
  165. data/vendor/depot_tools/man/man1/git-reparent-branch.1 +4 -4
  166. data/vendor/depot_tools/man/man1/git-retry.1 +4 -4
  167. data/vendor/depot_tools/man/man1/git-squash-branch.1 +4 -4
  168. data/vendor/depot_tools/man/man1/git-thaw.1 +4 -4
  169. data/vendor/depot_tools/man/man1/git-upstream-diff.1 +7 -13
  170. data/vendor/depot_tools/man/man7/depot_tools.7 +4 -4
  171. data/vendor/depot_tools/man/man7/depot_tools_tutorial.7 +31 -25
  172. data/vendor/depot_tools/man/src/common_demo_functions.sh +2 -2
  173. data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +3 -3
  174. data/vendor/depot_tools/man/src/filter_demo_output.py +4 -2
  175. data/vendor/depot_tools/man/src/git-new-branch.txt +2 -1
  176. data/vendor/depot_tools/man/src/git-rebase-update.txt +8 -1
  177. data/vendor/depot_tools/metrics.README.md +8 -5
  178. data/vendor/depot_tools/metrics.py +7 -6
  179. data/vendor/depot_tools/metrics_utils.py +4 -14
  180. data/vendor/depot_tools/my_activity.py +85 -251
  181. data/vendor/depot_tools/ninja +1 -0
  182. data/vendor/depot_tools/ninja-mac +0 -0
  183. data/vendor/depot_tools/ninjalog_uploader.py +146 -145
  184. data/vendor/depot_tools/ninjalog_uploader_wrapper.py +69 -60
  185. data/vendor/depot_tools/owners.py +156 -43
  186. data/vendor/depot_tools/owners_finder.py +28 -14
  187. data/vendor/depot_tools/post_build_ninja_summary.py +76 -48
  188. data/vendor/depot_tools/presubmit_canned_checks.py +293 -106
  189. data/vendor/depot_tools/presubmit_support.py +527 -333
  190. data/vendor/depot_tools/prpc +1 -1
  191. data/vendor/depot_tools/pylint +2 -12
  192. data/vendor/depot_tools/pylint-1.5 +78 -0
  193. data/vendor/depot_tools/pylint-1.6 +78 -0
  194. data/vendor/depot_tools/pylint-1.7 +78 -0
  195. data/vendor/depot_tools/pylint-1.8 +78 -0
  196. data/vendor/depot_tools/pylint-1.9 +78 -0
  197. data/vendor/depot_tools/{depot-tools-auth.bat → pylint.bat} +2 -2
  198. data/vendor/depot_tools/pylint_main.py +45 -0
  199. data/vendor/depot_tools/pylintrc +14 -1
  200. data/vendor/depot_tools/python-bin/python3 +7 -0
  201. data/vendor/depot_tools/python_runner.sh +13 -8
  202. data/vendor/depot_tools/rdb +12 -0
  203. data/vendor/depot_tools/rdb.bat +7 -0
  204. data/vendor/depot_tools/recipes/OWNERS +0 -1
  205. data/vendor/depot_tools/recipes/README.recipes.md +218 -151
  206. data/vendor/depot_tools/recipes/recipe_modules/OWNERS +1 -1
  207. data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +17 -16
  208. data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +127 -78
  209. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +19 -4
  210. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +18 -3
  211. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +19 -4
  212. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +29 -8
  213. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +28 -10
  214. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +29 -8
  215. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +29 -8
  216. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/input_commit_with_id_without_repo.json +29 -8
  217. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/multiple_patch_refs.json +29 -8
  218. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +35 -10
  219. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{with_manifest_name.json → no_cp_checkout_HEAD.json} +25 -15
  220. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_branch_head.json +65 -0
  221. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_specific_commit.json +65 -0
  222. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_master.json +65 -0
  223. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/refs.json +29 -8
  224. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +29 -8
  225. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/resolve_chromium_fixed_version.json +117 -0
  226. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +17 -11
  227. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +41 -10
  228. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +24 -11
  229. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +35 -10
  230. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +35 -10
  231. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +38 -11
  232. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +36 -11
  233. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +35 -10
  234. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +35 -10
  235. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +35 -10
  236. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/unrecognized_commit_repo.json +0 -5
  237. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +29 -8
  238. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +95 -22
  239. data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +187 -114
  240. data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +2 -2
  241. data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/do_not_retry_patch_failures_in_cq.py +42 -0
  242. data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/ensure_checkout.py +1 -0
  243. data/vendor/depot_tools/recipes/recipe_modules/cipd/__init__.py +0 -1
  244. data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +2 -2
  245. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic.json +0 -1
  246. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic_pkg.json +0 -1
  247. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-failed.json +2 -4
  248. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-many-instances.json +0 -1
  249. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/mac64.json +0 -1
  250. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_file.json +26 -6
  251. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_mode.json +23 -5
  252. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_verfile.json +23 -5
  253. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/win64.json +0 -1
  254. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +0 -1
  255. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +0 -1
  256. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +0 -1
  257. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +0 -1
  258. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +0 -1
  259. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +0 -1
  260. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +0 -1
  261. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +0 -1
  262. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +0 -1
  263. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +0 -1
  264. data/vendor/depot_tools/recipes/recipe_modules/cipd/test_api.py +1 -1
  265. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +4 -1
  266. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json +4 -2
  267. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json +3 -1
  268. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/win.json +4 -2
  269. data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +2 -1
  270. data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +82 -13
  271. data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +23 -11
  272. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +3 -4
  273. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +3 -6
  274. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +3 -4
  275. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +7 -7
  276. data/vendor/depot_tools/recipes/recipe_modules/gclient/resources/diff_deps.py +16 -0
  277. data/vendor/depot_tools/recipes/recipe_modules/gclient/test_api.py +4 -0
  278. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/basic.json +55 -0
  279. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/dont have revision yet.json +84 -0
  280. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/no change, exception.json +83 -0
  281. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/windows.json +55 -0
  282. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.py +88 -0
  283. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/patch_project.py +9 -21
  284. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/sync_failure.py +24 -0
  285. data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +2 -1
  286. data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +7 -12
  287. data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +0 -2
  288. data/vendor/depot_tools/recipes/recipe_modules/git/api.py +9 -17
  289. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic.json +2 -8
  290. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_branch.json +2 -8
  291. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_file_name.json +2 -8
  292. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_hash.json +2 -8
  293. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_ref.json +2 -8
  294. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_submodule_update_force.json +2 -8
  295. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_tags.json +2 -8
  296. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/can_fail_build.json +3 -13
  297. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cannot_fail_build.json +2 -8
  298. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cat-file_test.json +4 -12
  299. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_delta.json +2 -10
  300. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_failed.json +1 -7
  301. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output.json +1 -7
  302. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output_fails_build.json +0 -8
  303. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/curl_trace_file.json +3 -10
  304. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/git-cache-checkout.json +3 -11
  305. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +2 -8
  306. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/rebase_failed.json +3 -13
  307. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/remote_not_origin.json +2 -8
  308. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/set_got_revision.json +2 -8
  309. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.py +0 -5
  310. data/vendor/depot_tools/recipes/recipe_modules/git_cl/__init__.py +1 -1
  311. data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +7 -13
  312. data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.expected/basic.json +21 -16
  313. data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.py +1 -2
  314. data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +1 -1
  315. data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +0 -1
  316. data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +2 -2
  317. data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.expected/basic.json +0 -1
  318. data/vendor/depot_tools/recipes/recipe_modules/gsutil/api.py +23 -8
  319. data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.expected/basic.json +52 -1
  320. data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.py +15 -0
  321. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/__init__.py +1 -0
  322. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/api.py +32 -8
  323. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/ancient_version.json +83 -0
  324. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/automatic_version.json +83 -0
  325. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/explicit_version.json +83 -0
  326. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/linux.json +0 -1
  327. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/mac.json +5 -4
  328. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/win.json +0 -1
  329. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.py +21 -2
  330. data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +20 -0
  331. data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +235 -3
  332. data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.expected/basic.json +13 -5
  333. data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.py +5 -1
  334. data/vendor/depot_tools/recipes/recipe_modules/presubmit/properties.proto +14 -0
  335. data/vendor/depot_tools/recipes/recipe_modules/presubmit/test_api.py +19 -0
  336. data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/execute.py +247 -0
  337. data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/prepare.py +49 -0
  338. data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +33 -45
  339. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/basic_tags.json +0 -1
  340. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +64 -21
  341. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch_and_target_ref.json +64 -21
  342. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +1 -22
  343. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch_new.json +1 -22
  344. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +5 -32
  345. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_fetch_ref_timeout.py +29 -0
  346. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.expected/basic.json +5 -0
  347. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.py +22 -0
  348. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_target_ref.py +32 -0
  349. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/linux.json +0 -1
  350. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/mac.json +0 -1
  351. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/win.json +2 -1
  352. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.py +1 -6
  353. data/vendor/depot_tools/recipes/recipes.py +49 -28
  354. data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.expected/basic.json +11 -6
  355. data/vendor/depot_tools/repo +698 -540
  356. data/vendor/depot_tools/roll-dep +14 -1
  357. data/vendor/depot_tools/roll-dep.bat +10 -1
  358. data/vendor/depot_tools/roll_dep.py +15 -10
  359. data/vendor/depot_tools/scm.py +95 -75
  360. data/vendor/depot_tools/setup_color.py +36 -2
  361. data/vendor/depot_tools/split_cl.py +44 -32
  362. data/vendor/depot_tools/subcommand.py +6 -6
  363. data/vendor/depot_tools/subprocess2.py +38 -322
  364. data/vendor/depot_tools/third_party/colorama/LICENSE.txt +0 -1
  365. data/vendor/depot_tools/third_party/colorama/README.chromium +4 -5
  366. data/vendor/depot_tools/third_party/colorama/README.rst +346 -0
  367. data/vendor/depot_tools/third_party/colorama/__init__.py +3 -4
  368. data/vendor/depot_tools/third_party/colorama/ansi.py +82 -30
  369. data/vendor/depot_tools/third_party/colorama/ansitowin32.py +105 -37
  370. data/vendor/depot_tools/third_party/colorama/initialise.py +39 -15
  371. data/vendor/depot_tools/third_party/colorama/win32.py +46 -28
  372. data/vendor/depot_tools/third_party/colorama/winterm.py +80 -31
  373. data/vendor/depot_tools/update_depot_tools +18 -8
  374. data/vendor/depot_tools/update_depot_tools.bat +19 -15
  375. data/vendor/depot_tools/upload_metrics.py +7 -6
  376. data/vendor/depot_tools/upload_to_google_storage.py +23 -16
  377. data/vendor/depot_tools/vpython +4 -4
  378. data/vendor/depot_tools/vpython.bat +1 -1
  379. data/vendor/depot_tools/vpython3 +55 -0
  380. data/vendor/depot_tools/vpython3.bat +12 -0
  381. data/vendor/depot_tools/watchlists.py +14 -11
  382. data/vendor/depot_tools/weekly +4 -2
  383. data/vendor/depot_tools/win32imports.py +61 -0
  384. data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +49 -41
  385. data/vendor/depot_tools/win_toolchain/package_from_installed.py +142 -149
  386. data/vendor/depot_tools/wtf +5 -3
  387. data/vendor/depot_tools/yapf +5 -1
  388. metadata +68 -343
  389. data/vendor/depot_tools/README.testing +0 -23
  390. data/vendor/depot_tools/annotated_gclient.py +0 -89
  391. data/vendor/depot_tools/appengine_mapper.py +0 -23
  392. data/vendor/depot_tools/bootstrap/win/manifest.txt +0 -20
  393. data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +0 -20
  394. data/vendor/depot_tools/bootstrap/win/pylint.new.bat +0 -7
  395. data/vendor/depot_tools/buildbucket.py +0 -186
  396. data/vendor/depot_tools/checkout.py +0 -431
  397. data/vendor/depot_tools/cros +0 -1
  398. data/vendor/depot_tools/dart_format.py +0 -58
  399. data/vendor/depot_tools/depot-tools-auth +0 -8
  400. data/vendor/depot_tools/depot-tools-auth.py +0 -102
  401. data/vendor/depot_tools/my_reviews.py +0 -396
  402. data/vendor/depot_tools/patch.py +0 -548
  403. data/vendor/depot_tools/pylint.py +0 -30
  404. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/buildbot.json +0 -239
  405. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_luci.json +0 -222
  406. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/__init__.py +0 -4
  407. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/api.py +0 -29
  408. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/basic.json +0 -15
  409. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_linux.json +0 -15
  410. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_mac.json +0 -15
  411. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_win.json +0 -15
  412. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_linux.json +0 -15
  413. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_mac.json +0 -15
  414. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +0 -15
  415. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +0 -15
  416. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +0 -15
  417. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +0 -15
  418. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.py +0 -33
  419. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +0 -66
  420. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/set_failure_hash_with_no_steps.json +0 -11
  421. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch.json +0 -45
  422. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch_luci.json +0 -45
  423. data/vendor/depot_tools/rietveld.py +0 -779
  424. data/vendor/depot_tools/roll-dep-svn +0 -8
  425. data/vendor/depot_tools/roll-dep-svn.bat +0 -12
  426. data/vendor/depot_tools/roll_dep_svn.py +0 -430
  427. data/vendor/depot_tools/support/chromite_wrapper +0 -96
  428. data/vendor/depot_tools/third_party/boto/LICENSE +0 -18
  429. data/vendor/depot_tools/third_party/boto/README.chromium +0 -43
  430. data/vendor/depot_tools/third_party/boto/README.rst +0 -163
  431. data/vendor/depot_tools/third_party/boto/__init__.py +0 -793
  432. data/vendor/depot_tools/third_party/boto/auth.py +0 -682
  433. data/vendor/depot_tools/third_party/boto/auth_handler.py +0 -58
  434. data/vendor/depot_tools/third_party/boto/cacerts/__init__.py +0 -22
  435. data/vendor/depot_tools/third_party/boto/cacerts/cacerts.txt +0 -2183
  436. data/vendor/depot_tools/third_party/boto/compat.py +0 -28
  437. data/vendor/depot_tools/third_party/boto/connection.py +0 -1081
  438. data/vendor/depot_tools/third_party/boto/contrib/__init__.py +0 -22
  439. data/vendor/depot_tools/third_party/boto/contrib/ymlmessage.py +0 -52
  440. data/vendor/depot_tools/third_party/boto/core/README +0 -58
  441. data/vendor/depot_tools/third_party/boto/core/__init__.py +0 -23
  442. data/vendor/depot_tools/third_party/boto/core/auth.py +0 -78
  443. data/vendor/depot_tools/third_party/boto/core/credentials.py +0 -154
  444. data/vendor/depot_tools/third_party/boto/core/dictresponse.py +0 -178
  445. data/vendor/depot_tools/third_party/boto/core/service.py +0 -67
  446. data/vendor/depot_tools/third_party/boto/datapipeline/__init__.py +0 -0
  447. data/vendor/depot_tools/third_party/boto/datapipeline/exceptions.py +0 -42
  448. data/vendor/depot_tools/third_party/boto/datapipeline/layer1.py +0 -546
  449. data/vendor/depot_tools/third_party/boto/ecs/__init__.py +0 -90
  450. data/vendor/depot_tools/third_party/boto/ecs/item.py +0 -153
  451. data/vendor/depot_tools/third_party/boto/exception.py +0 -476
  452. data/vendor/depot_tools/third_party/boto/file/README +0 -49
  453. data/vendor/depot_tools/third_party/boto/file/__init__.py +0 -28
  454. data/vendor/depot_tools/third_party/boto/file/bucket.py +0 -112
  455. data/vendor/depot_tools/third_party/boto/file/connection.py +0 -33
  456. data/vendor/depot_tools/third_party/boto/file/key.py +0 -199
  457. data/vendor/depot_tools/third_party/boto/file/simpleresultset.py +0 -30
  458. data/vendor/depot_tools/third_party/boto/fps/__init__.py +0 -21
  459. data/vendor/depot_tools/third_party/boto/fps/connection.py +0 -369
  460. data/vendor/depot_tools/third_party/boto/fps/exception.py +0 -344
  461. data/vendor/depot_tools/third_party/boto/fps/response.py +0 -175
  462. data/vendor/depot_tools/third_party/boto/gs/__init__.py +0 -22
  463. data/vendor/depot_tools/third_party/boto/gs/acl.py +0 -304
  464. data/vendor/depot_tools/third_party/boto/gs/bucket.py +0 -870
  465. data/vendor/depot_tools/third_party/boto/gs/bucketlistresultset.py +0 -64
  466. data/vendor/depot_tools/third_party/boto/gs/connection.py +0 -103
  467. data/vendor/depot_tools/third_party/boto/gs/cors.py +0 -169
  468. data/vendor/depot_tools/third_party/boto/gs/key.py +0 -704
  469. data/vendor/depot_tools/third_party/boto/gs/resumable_upload_handler.py +0 -659
  470. data/vendor/depot_tools/third_party/boto/gs/user.py +0 -54
  471. data/vendor/depot_tools/third_party/boto/handler.py +0 -44
  472. data/vendor/depot_tools/third_party/boto/https_connection.py +0 -124
  473. data/vendor/depot_tools/third_party/boto/jsonresponse.py +0 -163
  474. data/vendor/depot_tools/third_party/boto/manage/__init__.py +0 -23
  475. data/vendor/depot_tools/third_party/boto/manage/cmdshell.py +0 -241
  476. data/vendor/depot_tools/third_party/boto/manage/propget.py +0 -64
  477. data/vendor/depot_tools/third_party/boto/manage/server.py +0 -556
  478. data/vendor/depot_tools/third_party/boto/manage/task.py +0 -175
  479. data/vendor/depot_tools/third_party/boto/manage/test_manage.py +0 -34
  480. data/vendor/depot_tools/third_party/boto/manage/volume.py +0 -420
  481. data/vendor/depot_tools/third_party/boto/mashups/__init__.py +0 -23
  482. data/vendor/depot_tools/third_party/boto/mashups/interactive.py +0 -97
  483. data/vendor/depot_tools/third_party/boto/mashups/iobject.py +0 -115
  484. data/vendor/depot_tools/third_party/boto/mashups/order.py +0 -211
  485. data/vendor/depot_tools/third_party/boto/mashups/server.py +0 -395
  486. data/vendor/depot_tools/third_party/boto/plugin.py +0 -90
  487. data/vendor/depot_tools/third_party/boto/provider.py +0 -337
  488. data/vendor/depot_tools/third_party/boto/pyami/__init__.py +0 -22
  489. data/vendor/depot_tools/third_party/boto/pyami/bootstrap.py +0 -134
  490. data/vendor/depot_tools/third_party/boto/pyami/config.py +0 -229
  491. data/vendor/depot_tools/third_party/boto/pyami/copybot.cfg +0 -60
  492. data/vendor/depot_tools/third_party/boto/pyami/copybot.py +0 -97
  493. data/vendor/depot_tools/third_party/boto/pyami/helloworld.py +0 -28
  494. data/vendor/depot_tools/third_party/boto/pyami/launch_ami.py +0 -178
  495. data/vendor/depot_tools/third_party/boto/pyami/scriptbase.py +0 -44
  496. data/vendor/depot_tools/third_party/boto/pyami/startup.py +0 -60
  497. data/vendor/depot_tools/third_party/boto/regioninfo.py +0 -63
  498. data/vendor/depot_tools/third_party/boto/resultset.py +0 -169
  499. data/vendor/depot_tools/third_party/boto/roboto/__init__.py +0 -1
  500. data/vendor/depot_tools/third_party/boto/roboto/awsqueryrequest.py +0 -504
  501. data/vendor/depot_tools/third_party/boto/roboto/awsqueryservice.py +0 -121
  502. data/vendor/depot_tools/third_party/boto/roboto/param.py +0 -147
  503. data/vendor/depot_tools/third_party/boto/s3/__init__.py +0 -84
  504. data/vendor/depot_tools/third_party/boto/s3/acl.py +0 -164
  505. data/vendor/depot_tools/third_party/boto/s3/bucket.py +0 -1634
  506. data/vendor/depot_tools/third_party/boto/s3/bucketlistresultset.py +0 -139
  507. data/vendor/depot_tools/third_party/boto/s3/bucketlogging.py +0 -83
  508. data/vendor/depot_tools/third_party/boto/s3/connection.py +0 -540
  509. data/vendor/depot_tools/third_party/boto/s3/cors.py +0 -210
  510. data/vendor/depot_tools/third_party/boto/s3/deletemarker.py +0 -55
  511. data/vendor/depot_tools/third_party/boto/s3/key.py +0 -1712
  512. data/vendor/depot_tools/third_party/boto/s3/keyfile.py +0 -134
  513. data/vendor/depot_tools/third_party/boto/s3/lifecycle.py +0 -231
  514. data/vendor/depot_tools/third_party/boto/s3/multidelete.py +0 -138
  515. data/vendor/depot_tools/third_party/boto/s3/multipart.py +0 -315
  516. data/vendor/depot_tools/third_party/boto/s3/prefix.py +0 -42
  517. data/vendor/depot_tools/third_party/boto/s3/resumable_download_handler.py +0 -339
  518. data/vendor/depot_tools/third_party/boto/s3/tagging.py +0 -71
  519. data/vendor/depot_tools/third_party/boto/s3/user.py +0 -49
  520. data/vendor/depot_tools/third_party/boto/s3/website.py +0 -237
  521. data/vendor/depot_tools/third_party/boto/services/__init__.py +0 -23
  522. data/vendor/depot_tools/third_party/boto/services/bs.py +0 -179
  523. data/vendor/depot_tools/third_party/boto/services/message.py +0 -58
  524. data/vendor/depot_tools/third_party/boto/services/result.py +0 -136
  525. data/vendor/depot_tools/third_party/boto/services/service.py +0 -161
  526. data/vendor/depot_tools/third_party/boto/services/servicedef.py +0 -91
  527. data/vendor/depot_tools/third_party/boto/services/sonofmmm.cfg +0 -43
  528. data/vendor/depot_tools/third_party/boto/services/sonofmmm.py +0 -81
  529. data/vendor/depot_tools/third_party/boto/services/submit.py +0 -88
  530. data/vendor/depot_tools/third_party/boto/ses/__init__.py +0 -54
  531. data/vendor/depot_tools/third_party/boto/ses/connection.py +0 -521
  532. data/vendor/depot_tools/third_party/boto/ses/exceptions.py +0 -77
  533. data/vendor/depot_tools/third_party/boto/storage_uri.py +0 -835
  534. data/vendor/depot_tools/third_party/boto/sts/__init__.py +0 -55
  535. data/vendor/depot_tools/third_party/boto/sts/connection.py +0 -207
  536. data/vendor/depot_tools/third_party/boto/sts/credentials.py +0 -215
  537. data/vendor/depot_tools/third_party/boto/utils.py +0 -927
  538. data/vendor/depot_tools/third_party/colorama/README.txt +0 -304
  539. data/vendor/depot_tools/third_party/fancy_urllib/README +0 -22
  540. data/vendor/depot_tools/third_party/fancy_urllib/__init__.py +0 -460
  541. data/vendor/depot_tools/third_party/logilab/README.chromium +0 -6
  542. data/vendor/depot_tools/third_party/logilab/__init__.py +0 -0
  543. data/vendor/depot_tools/third_party/logilab/astroid/LICENSE.txt +0 -340
  544. data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +0 -11
  545. data/vendor/depot_tools/third_party/logilab/astroid/__init__.py +0 -136
  546. data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +0 -42
  547. data/vendor/depot_tools/third_party/logilab/astroid/arguments.py +0 -233
  548. data/vendor/depot_tools/third_party/logilab/astroid/as_string.py +0 -548
  549. data/vendor/depot_tools/third_party/logilab/astroid/astpeephole.py +0 -86
  550. data/vendor/depot_tools/third_party/logilab/astroid/bases.py +0 -636
  551. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_builtin_inference.py +0 -336
  552. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_dateutil.py +0 -15
  553. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_gi.py +0 -195
  554. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_mechanize.py +0 -18
  555. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_nose.py +0 -82
  556. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_numpy.py +0 -62
  557. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_pytest.py +0 -76
  558. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_qt.py +0 -44
  559. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_six.py +0 -288
  560. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_ssl.py +0 -65
  561. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_stdlib.py +0 -473
  562. data/vendor/depot_tools/third_party/logilab/astroid/builder.py +0 -263
  563. data/vendor/depot_tools/third_party/logilab/astroid/context.py +0 -81
  564. data/vendor/depot_tools/third_party/logilab/astroid/decorators.py +0 -75
  565. data/vendor/depot_tools/third_party/logilab/astroid/exceptions.py +0 -71
  566. data/vendor/depot_tools/third_party/logilab/astroid/inference.py +0 -359
  567. data/vendor/depot_tools/third_party/logilab/astroid/manager.py +0 -267
  568. data/vendor/depot_tools/third_party/logilab/astroid/mixins.py +0 -147
  569. data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +0 -741
  570. data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +0 -1053
  571. data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +0 -87
  572. data/vendor/depot_tools/third_party/logilab/astroid/objects.py +0 -186
  573. data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +0 -470
  574. data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +0 -390
  575. data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +0 -989
  576. data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +0 -1716
  577. data/vendor/depot_tools/third_party/logilab/astroid/test_utils.py +0 -201
  578. data/vendor/depot_tools/third_party/logilab/astroid/transforms.py +0 -96
  579. data/vendor/depot_tools/third_party/logilab/astroid/util.py +0 -89
  580. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/LICENSE +0 -19
  581. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/README.chromium +0 -11
  582. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/__init__.py +0 -20
  583. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/cext.c +0 -1421
  584. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/compat.py +0 -9
  585. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/simple.py +0 -246
  586. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/slots.py +0 -414
  587. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/utils.py +0 -13
  588. data/vendor/depot_tools/third_party/logilab/wrapt/LICENSE +0 -24
  589. data/vendor/depot_tools/third_party/logilab/wrapt/README.chromium +0 -11
  590. data/vendor/depot_tools/third_party/logilab/wrapt/__init__.py +0 -19
  591. data/vendor/depot_tools/third_party/logilab/wrapt/_wrappers.c +0 -2729
  592. data/vendor/depot_tools/third_party/logilab/wrapt/arguments.py +0 -96
  593. data/vendor/depot_tools/third_party/logilab/wrapt/decorators.py +0 -512
  594. data/vendor/depot_tools/third_party/logilab/wrapt/importer.py +0 -228
  595. data/vendor/depot_tools/third_party/logilab/wrapt/wrappers.py +0 -901
  596. data/vendor/depot_tools/third_party/mock/LICENSE.txt +0 -26
  597. data/vendor/depot_tools/third_party/mock/README.chromium +0 -24
  598. data/vendor/depot_tools/third_party/mock/__init__.py +0 -2366
  599. data/vendor/depot_tools/third_party/oauth2client/LICENSE +0 -202
  600. data/vendor/depot_tools/third_party/oauth2client/MODIFICATIONS.diff +0 -66
  601. data/vendor/depot_tools/third_party/oauth2client/README.chromium +0 -15
  602. data/vendor/depot_tools/third_party/oauth2client/__init__.py +0 -5
  603. data/vendor/depot_tools/third_party/oauth2client/anyjson.py +0 -32
  604. data/vendor/depot_tools/third_party/oauth2client/appengine.py +0 -963
  605. data/vendor/depot_tools/third_party/oauth2client/client.py +0 -1363
  606. data/vendor/depot_tools/third_party/oauth2client/clientsecrets.py +0 -153
  607. data/vendor/depot_tools/third_party/oauth2client/crypt.py +0 -377
  608. data/vendor/depot_tools/third_party/oauth2client/django_orm.py +0 -134
  609. data/vendor/depot_tools/third_party/oauth2client/file.py +0 -124
  610. data/vendor/depot_tools/third_party/oauth2client/gce.py +0 -90
  611. data/vendor/depot_tools/third_party/oauth2client/keyring_storage.py +0 -109
  612. data/vendor/depot_tools/third_party/oauth2client/locked_file.py +0 -373
  613. data/vendor/depot_tools/third_party/oauth2client/multistore_file.py +0 -465
  614. data/vendor/depot_tools/third_party/oauth2client/old_run.py +0 -160
  615. data/vendor/depot_tools/third_party/oauth2client/tools.py +0 -243
  616. data/vendor/depot_tools/third_party/oauth2client/util.py +0 -196
  617. data/vendor/depot_tools/third_party/oauth2client/xsrfutil.py +0 -113
  618. data/vendor/depot_tools/third_party/protobuf26/README.chromium +0 -23
  619. data/vendor/depot_tools/third_party/protobuf26/__init__.py +0 -0
  620. data/vendor/depot_tools/third_party/protobuf26/compiler/__init__.py +0 -0
  621. data/vendor/depot_tools/third_party/protobuf26/compiler/plugin_pb2.py +0 -184
  622. data/vendor/depot_tools/third_party/protobuf26/descriptor.py +0 -849
  623. data/vendor/depot_tools/third_party/protobuf26/descriptor_database.py +0 -137
  624. data/vendor/depot_tools/third_party/protobuf26/descriptor_pb2.py +0 -1522
  625. data/vendor/depot_tools/third_party/protobuf26/descriptor_pool.py +0 -643
  626. data/vendor/depot_tools/third_party/protobuf26/internal/__init__.py +0 -0
  627. data/vendor/depot_tools/third_party/protobuf26/internal/api_implementation.py +0 -89
  628. data/vendor/depot_tools/third_party/protobuf26/internal/containers.py +0 -269
  629. data/vendor/depot_tools/third_party/protobuf26/internal/cpp_message.py +0 -663
  630. data/vendor/depot_tools/third_party/protobuf26/internal/decoder.py +0 -831
  631. data/vendor/depot_tools/third_party/protobuf26/internal/encoder.py +0 -788
  632. data/vendor/depot_tools/third_party/protobuf26/internal/enum_type_wrapper.py +0 -89
  633. data/vendor/depot_tools/third_party/protobuf26/internal/message_listener.py +0 -78
  634. data/vendor/depot_tools/third_party/protobuf26/internal/python_message.py +0 -1247
  635. data/vendor/depot_tools/third_party/protobuf26/internal/type_checkers.py +0 -328
  636. data/vendor/depot_tools/third_party/protobuf26/internal/wire_format.py +0 -268
  637. data/vendor/depot_tools/third_party/protobuf26/message.py +0 -284
  638. data/vendor/depot_tools/third_party/protobuf26/message_factory.py +0 -155
  639. data/vendor/depot_tools/third_party/protobuf26/reflection.py +0 -205
  640. data/vendor/depot_tools/third_party/protobuf26/service.py +0 -226
  641. data/vendor/depot_tools/third_party/protobuf26/service_reflection.py +0 -284
  642. data/vendor/depot_tools/third_party/protobuf26/symbol_database.py +0 -185
  643. data/vendor/depot_tools/third_party/protobuf26/text_encoding.py +0 -110
  644. data/vendor/depot_tools/third_party/protobuf26/text_format.py +0 -873
  645. data/vendor/depot_tools/third_party/pylint.py +0 -37
  646. data/vendor/depot_tools/third_party/pylint/LICENSE.txt +0 -340
  647. data/vendor/depot_tools/third_party/pylint/README.chromium +0 -30
  648. data/vendor/depot_tools/third_party/pylint/__init__.py +0 -46
  649. data/vendor/depot_tools/third_party/pylint/__main__.py +0 -3
  650. data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +0 -80
  651. data/vendor/depot_tools/third_party/pylint/checkers/__init__.py +0 -123
  652. data/vendor/depot_tools/third_party/pylint/checkers/async.py +0 -82
  653. data/vendor/depot_tools/third_party/pylint/checkers/base.py +0 -2010
  654. data/vendor/depot_tools/third_party/pylint/checkers/classes.py +0 -1120
  655. data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +0 -348
  656. data/vendor/depot_tools/third_party/pylint/checkers/exceptions.py +0 -369
  657. data/vendor/depot_tools/third_party/pylint/checkers/format.py +0 -993
  658. data/vendor/depot_tools/third_party/pylint/checkers/imports.py +0 -654
  659. data/vendor/depot_tools/third_party/pylint/checkers/logging.py +0 -258
  660. data/vendor/depot_tools/third_party/pylint/checkers/misc.py +0 -105
  661. data/vendor/depot_tools/third_party/pylint/checkers/newstyle.py +0 -169
  662. data/vendor/depot_tools/third_party/pylint/checkers/python3.py +0 -591
  663. data/vendor/depot_tools/third_party/pylint/checkers/raw_metrics.py +0 -129
  664. data/vendor/depot_tools/third_party/pylint/checkers/similar.py +0 -371
  665. data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +0 -264
  666. data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +0 -280
  667. data/vendor/depot_tools/third_party/pylint/checkers/strings.py +0 -618
  668. data/vendor/depot_tools/third_party/pylint/checkers/typecheck.py +0 -974
  669. data/vendor/depot_tools/third_party/pylint/checkers/utils.py +0 -741
  670. data/vendor/depot_tools/third_party/pylint/checkers/variables.py +0 -1191
  671. data/vendor/depot_tools/third_party/pylint/config.py +0 -820
  672. data/vendor/depot_tools/third_party/pylint/epylint.py +0 -181
  673. data/vendor/depot_tools/third_party/pylint/extensions/__init__.py +0 -0
  674. data/vendor/depot_tools/third_party/pylint/extensions/check_docs.py +0 -311
  675. data/vendor/depot_tools/third_party/pylint/extensions/check_elif.py +0 -62
  676. data/vendor/depot_tools/third_party/pylint/graph.py +0 -179
  677. data/vendor/depot_tools/third_party/pylint/gui.py +0 -531
  678. data/vendor/depot_tools/third_party/pylint/interfaces.py +0 -102
  679. data/vendor/depot_tools/third_party/pylint/lint.py +0 -1381
  680. data/vendor/depot_tools/third_party/pylint/pyreverse/__init__.py +0 -5
  681. data/vendor/depot_tools/third_party/pylint/pyreverse/diadefslib.py +0 -230
  682. data/vendor/depot_tools/third_party/pylint/pyreverse/diagrams.py +0 -258
  683. data/vendor/depot_tools/third_party/pylint/pyreverse/inspector.py +0 -372
  684. data/vendor/depot_tools/third_party/pylint/pyreverse/main.py +0 -147
  685. data/vendor/depot_tools/third_party/pylint/pyreverse/utils.py +0 -210
  686. data/vendor/depot_tools/third_party/pylint/pyreverse/vcgutils.py +0 -198
  687. data/vendor/depot_tools/third_party/pylint/pyreverse/writer.py +0 -198
  688. data/vendor/depot_tools/third_party/pylint/reporters/__init__.py +0 -149
  689. data/vendor/depot_tools/third_party/pylint/reporters/guireporter.py +0 -27
  690. data/vendor/depot_tools/third_party/pylint/reporters/html.py +0 -108
  691. data/vendor/depot_tools/third_party/pylint/reporters/json.py +0 -64
  692. data/vendor/depot_tools/third_party/pylint/reporters/text.py +0 -237
  693. data/vendor/depot_tools/third_party/pylint/reporters/ureports/__init__.py +0 -106
  694. data/vendor/depot_tools/third_party/pylint/reporters/ureports/html_writer.py +0 -93
  695. data/vendor/depot_tools/third_party/pylint/reporters/ureports/nodes.py +0 -181
  696. data/vendor/depot_tools/third_party/pylint/reporters/ureports/text_writer.py +0 -99
  697. data/vendor/depot_tools/third_party/pylint/testutils.py +0 -414
  698. data/vendor/depot_tools/third_party/pylint/utils.py +0 -1148
  699. data/vendor/depot_tools/third_party/pymox/COPYING +0 -202
  700. data/vendor/depot_tools/third_party/pymox/MANIFEST.in +0 -5
  701. data/vendor/depot_tools/third_party/pymox/README +0 -56
  702. data/vendor/depot_tools/third_party/pymox/__init__.py +0 -0
  703. data/vendor/depot_tools/third_party/pymox/mox.py +0 -1643
  704. data/vendor/depot_tools/third_party/pymox/mox_test.py +0 -1708
  705. data/vendor/depot_tools/third_party/pymox/mox_test_helper.py +0 -76
  706. data/vendor/depot_tools/third_party/pymox/setup.py +0 -14
  707. data/vendor/depot_tools/third_party/pymox/stubout.py +0 -142
  708. data/vendor/depot_tools/third_party/pymox/stubout_test.py +0 -47
  709. data/vendor/depot_tools/third_party/pymox/stubout_testee.py +0 -2
  710. data/vendor/depot_tools/third_party/simplejson/LICENSE.txt +0 -19
  711. data/vendor/depot_tools/third_party/simplejson/PKG-INFO +0 -29
  712. data/vendor/depot_tools/third_party/simplejson/__init__.py +0 -437
  713. data/vendor/depot_tools/third_party/simplejson/decoder.py +0 -421
  714. data/vendor/depot_tools/third_party/simplejson/encoder.py +0 -501
  715. data/vendor/depot_tools/third_party/simplejson/ordered_dict.py +0 -119
  716. data/vendor/depot_tools/third_party/simplejson/scanner.py +0 -77
  717. data/vendor/depot_tools/third_party/simplejson/tool.py +0 -39
  718. data/vendor/depot_tools/third_party/upload.py +0 -2565
@@ -1,96 +0,0 @@
1
- #!/usr/bin/env python
2
- # Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
3
- # Use of this source code is governed by a BSD-style license that can be
4
- # found in the LICENSE file.
5
-
6
- """Wrapper for chromite tools.
7
-
8
- The script is intend to be symlinked to any number of chromite tools, attempts
9
- to find the path for chromite, and hands off to the right tool via exec if
10
- possible.
11
-
12
- It is intended to used strictly outside of the chroot.
13
-
14
- If you're looking at a copy and want to know where the original looks at, look
15
- here:
16
- http://git.chromium.org/gitweb/?p=chromite.git;a=blob;f=bin/chromite
17
-
18
- Since this script is _copied_, it should remain small and not use internal libs.
19
-
20
- """
21
-
22
- import errno
23
- import os
24
- import sys
25
-
26
- # Due to historical reasons, and the fact depot_tools ToT is used by older
27
- # factory branches (lacking chromite script cleanups), note we have to
28
- # fallback to some odd import locations. This is the only reason for the
29
- # fallback code- any/all new scripts symlinked to this script *must* exist
30
- # in chromite/bin/ .
31
-
32
- def _FindChromite(path):
33
- """Find the chromite dir in a repo, gclient, or submodule checkout."""
34
- path = os.path.abspath(path)
35
- # Depending on the checkout type (whether repo chromeos or gclient chrome)
36
- # Chromite lives in a different location.
37
- roots = (
38
- ('.repo', 'chromite/.git'),
39
- ('.gclient', 'src/third_party/chromite/.git'),
40
- ('src/.gitmodules', 'src/third_party/chromite/.git'),
41
- )
42
-
43
- while path != '/':
44
- for root, chromite_git_dir in roots:
45
- if all(os.path.exists(os.path.join(path, x))
46
- for x in [root, chromite_git_dir]):
47
- return os.path.dirname(os.path.join(path, chromite_git_dir))
48
- path = os.path.dirname(path)
49
- return None
50
-
51
-
52
- def _MissingErrorOut(target):
53
- sys.stderr.write(
54
- """ERROR: Couldn't find the chromite tool %s.
55
-
56
- Please change to a directory inside your Chromium OS source tree
57
- and retry. If you need to setup a Chromium OS source tree, see
58
- http://www.chromium.org/chromium-os/developer-guide
59
- """ % target)
60
- return 127
61
-
62
-
63
- def main():
64
- chromite_dir = _FindChromite(os.getcwd())
65
- target = os.path.basename(sys.argv[0])
66
- if chromite_dir is None:
67
- return _MissingErrorOut(target)
68
-
69
- path = os.path.join(chromite_dir, 'bin', target)
70
- try:
71
- os.execv(path, [path] + sys.argv[1:])
72
- except EnvironmentError as e:
73
- if e.errno not in (errno.ENOENT, errno.EPERM):
74
- raise
75
-
76
- # Reaching here means it's either a bad target, or we're working against
77
- # an old (pre 6be2efcf5bb575b03862113eec097c44d8d7f93e) revision of
78
- # chromite. Fallback to trying to import it; this code works at least as
79
- # far back as branch 0.11.241.B; likely further.
80
-
81
- if target == 'cbuildbot':
82
- target = 'chromite.buildbot.cbuildbot'
83
- else:
84
- target = 'chromite.bin.%s' % (target,)
85
-
86
- # Adjust the path importation so we can import our our target.
87
- sys.path.insert(0, os.path.dirname(chromite_dir))
88
-
89
- try:
90
- module = __import__(target, fromlist=['main'])
91
- except ImportError:
92
- return _MissingErrorOut(target)
93
- return module.main()
94
-
95
- if __name__ == '__main__':
96
- sys.exit(main())
@@ -1,18 +0,0 @@
1
- Permission is hereby granted, free of charge, to any person obtaining a
2
- copy of this software and associated documentation files (the
3
- "Software"), to deal in the Software without restriction, including
4
- without limitation the rights to use, copy, modify, merge, publish, dis-
5
- tribute, sublicense, and/or sell copies of the Software, and to permit
6
- persons to whom the Software is furnished to do so, subject to the fol-
7
- lowing conditions:
8
-
9
- The above copyright notice and this permission notice shall be included
10
- in all copies or substantial portions of the Software.
11
-
12
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
13
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
14
- ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
15
- SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
16
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
18
- IN THE SOFTWARE.
@@ -1,43 +0,0 @@
1
- Name: boto
2
- URL: https://github.com/boto/boto
3
- Version: 2.8.0
4
- License: MIT
5
-
6
- Description:
7
- Python interface to Amazon Web Services.
8
-
9
- Modifications:
10
- * Removed boto/docs/
11
- * Removed boto/tests/
12
- * Removed boto/boto/setup.py
13
- * Removed boto/boto/pylintrc
14
- * Removed boto/boto/ec2
15
- * Removed boto/boto/beanstalk
16
- * Removed boto/boto/cloudsearch
17
- * Removed boto/boto/dynamodb
18
- * Removed boto/boto/swf
19
- * Removed boto/boto/rds
20
- * Removed boto/boto/sdb
21
- * Removed boto/boto/vpc
22
- * Removed boto/boto/route53
23
- * Removed boto/boto/iam
24
- * Removed boto/boto/sns
25
- * Removed boto/boto/cloudformations
26
- * Removed boto/boto/elasticache
27
- * Removed boto/boto/elastictranscoder
28
- * Removed boto/boto/mturk
29
- * Removed boto/boto/cloudfront
30
- * Removed boto/boto/sqs
31
- * Removed boto/boto/mws
32
- * Removed boto/boto/emr
33
- * Removed boto/boto/pyami/installers
34
- * Removed boto/bin
35
- * Removed boto/.gitignore
36
- * Removed boto/.travis.yml
37
- * Removed boto/Changelog.rst
38
- * Removed boto/MANIFEST.in
39
- * Replaced boto/cacerts/cacerts.txt by file from
40
- https://pki.google.com/roots.pem
41
- * Moved boto down to be a first level directory
42
-
43
- Full license is in the LICENSE file.
@@ -1,163 +0,0 @@
1
- ####
2
- boto
3
- ####
4
- boto 2.8.0
5
- 31-Jan-2013
6
-
7
- .. image:: https://secure.travis-ci.org/boto/boto.png?branch=develop
8
- :target: https://secure.travis-ci.org/boto/boto
9
-
10
- ************
11
- Introduction
12
- ************
13
-
14
- Boto is a Python package that provides interfaces to Amazon Web Services.
15
- At the moment, boto supports:
16
-
17
- * Compute
18
-
19
- * Amazon Elastic Compute Cloud (EC2)
20
- * Amazon Elastic Map Reduce (EMR)
21
- * AutoScaling
22
-
23
- * Content Delivery
24
-
25
- * Amazon CloudFront
26
-
27
- * Database
28
-
29
- * Amazon Relational Data Service (RDS)
30
- * Amazon DynamoDB
31
- * Amazon SimpleDB
32
- * Amazon ElastiCache
33
-
34
- * Deployment and Management
35
-
36
- * AWS Elastic Beanstalk
37
- * AWS CloudFormation
38
- * AWS Data Pipeline
39
-
40
- * Identity & Access
41
-
42
- * AWS Identity and Access Management (IAM)
43
-
44
- * Application Services
45
-
46
- * Amazon CloudSearch
47
- * Amazon Simple Workflow Service (SWF)
48
- * Amazon Simple Queue Service (SQS)
49
- * Amazon Simple Notification Server (SNS)
50
- * Amazon Simple Email Service (SES)
51
-
52
- * Montoring
53
-
54
- * Amazon CloudWatch
55
-
56
- * Networking
57
-
58
- * Amazon Route53
59
- * Amazon Virtual Private Cloud (VPC)
60
- * Elastic Load Balancing (ELB)
61
-
62
- * Payments and Billing
63
-
64
- * Amazon Flexible Payment Service (FPS)
65
-
66
- * Storage
67
-
68
- * Amazon Simple Storage Service (S3)
69
- * Amazon Glacier
70
- * Amazon Elastic Block Store (EBS)
71
- * Google Cloud Storage
72
-
73
- * Workforce
74
-
75
- * Amazon Mechanical Turk
76
-
77
- * Other
78
-
79
- * Marketplace Web Services
80
-
81
- The goal of boto is to support the full breadth and depth of Amazon
82
- Web Services. In addition, boto provides support for other public
83
- services such as Google Storage in addition to private cloud systems
84
- like Eucalyptus, OpenStack and Open Nebula.
85
-
86
- Boto is developed mainly using Python 2.6.6 and Python 2.7.1 on Mac OSX
87
- and Ubuntu Maverick. It is known to work on other Linux distributions
88
- and on Windows. Boto requires no additional libraries or packages
89
- other than those that are distributed with Python. Efforts are made
90
- to keep boto compatible with Python 2.5.x but no guarantees are made.
91
-
92
- ************
93
- Installation
94
- ************
95
-
96
- Install via `pip`_:
97
-
98
- ::
99
-
100
- $ pip install boto
101
-
102
- Install from source:
103
-
104
- ::
105
-
106
- $ git clone git://github.com/boto/boto.git
107
- $ cd boto
108
- $ python setup.py install
109
-
110
- **********
111
- ChangeLogs
112
- **********
113
-
114
- To see what has changed over time in boto, you can check out the
115
- `release notes`_ in the wiki.
116
-
117
- ***************************
118
- Finding Out More About Boto
119
- ***************************
120
-
121
- The main source code repository for boto can be found on `github.com`_.
122
- The boto project uses the `gitflow`_ model for branching.
123
-
124
- `Online documentation`_ is also available. The online documentation includes
125
- full API documentation as well as Getting Started Guides for many of the boto
126
- modules.
127
-
128
- Boto releases can be found on the `Python Cheese Shop`_.
129
-
130
- Join our IRC channel `#boto` on FreeNode.
131
- Webchat IRC channel: http://webchat.freenode.net/?channels=boto
132
-
133
- Join the `boto-users Google Group`_.
134
-
135
- *************************
136
- Getting Started with Boto
137
- *************************
138
-
139
- Your credentials can be passed into the methods that create
140
- connections. Alternatively, boto will check for the existance of the
141
- following environment variables to ascertain your credentials:
142
-
143
- **AWS_ACCESS_KEY_ID** - Your AWS Access Key ID
144
-
145
- **AWS_SECRET_ACCESS_KEY** - Your AWS Secret Access Key
146
-
147
- Credentials and other boto-related settings can also be stored in a
148
- boto config file. See `this`_ for details.
149
-
150
- Copyright (c) 2006-2012 Mitch Garnaat <mitch@garnaat.com>
151
- Copyright (c) 2010-2011, Eucalyptus Systems, Inc.
152
- Copyright (c) 2012 Amazon.com, Inc. or its affiliates.
153
- All rights reserved.
154
-
155
- .. _pip: http://www.pip-installer.org/
156
- .. _release notes: https://github.com/boto/boto/wiki
157
- .. _github.com: http://github.com/boto/boto
158
- .. _Online documentation: http://docs.pythonboto.org
159
- .. _Python Cheese Shop: http://pypi.python.org/pypi/boto
160
- .. _this: http://code.google.com/p/boto/wiki/BotoConfig
161
- .. _gitflow: http://nvie.com/posts/a-successful-git-branching-model/
162
- .. _neo: https://github.com/boto/boto/tree/neo
163
- .. _boto-users Google Group: https://groups.google.com/forum/?fromgroups#!forum/boto-users
@@ -1,793 +0,0 @@
1
- # Copyright (c) 2006-2012 Mitch Garnaat http://garnaat.org/
2
- # Copyright (c) 2010-2011, Eucalyptus Systems, Inc.
3
- # Copyright (c) 2011, Nexenta Systems Inc.
4
- # Copyright (c) 2012 Amazon.com, Inc. or its affiliates.
5
- # Copyright (c) 2010, Google, Inc.
6
- # All rights reserved.
7
- #
8
- # Permission is hereby granted, free of charge, to any person obtaining a
9
- # copy of this software and associated documentation files (the
10
- # "Software"), to deal in the Software without restriction, including
11
- # without limitation the rights to use, copy, modify, merge, publish, dis-
12
- # tribute, sublicense, and/or sell copies of the Software, and to permit
13
- # persons to whom the Software is furnished to do so, subject to the fol-
14
- # lowing conditions:
15
- #
16
- # The above copyright notice and this permission notice shall be included
17
- # in all copies or substantial portions of the Software.
18
- #
19
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20
- # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
21
- # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
22
- # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23
- # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
25
- # IN THE SOFTWARE.
26
- #
27
- from boto.pyami.config import Config, BotoConfigLocations
28
- from boto.storage_uri import BucketStorageUri, FileStorageUri
29
- import boto.plugin
30
- import os
31
- import platform
32
- import re
33
- import sys
34
- import logging
35
- import logging.config
36
- import urlparse
37
- from boto.exception import InvalidUriError
38
-
39
- __version__ = '2.8.0-dev'
40
- Version = __version__ # for backware compatibility
41
-
42
- UserAgent = 'Boto/%s (%s)' % (__version__, sys.platform)
43
- config = Config()
44
-
45
- # Regex to disallow buckets violating charset or not [3..255] chars total.
46
- BUCKET_NAME_RE = re.compile(r'^[a-z0-9][a-z0-9\._-]{1,253}[a-z0-9]$')
47
- # Regex to disallow buckets with individual DNS labels longer than 63.
48
- TOO_LONG_DNS_NAME_COMP = re.compile(r'[-_a-z0-9]{64}')
49
- GENERATION_RE = re.compile(r'(?P<versionless_uri_str>.+)'
50
- r'#(?P<generation>[0-9]+)$')
51
- VERSION_RE = re.compile('(?P<versionless_uri_str>.+)#(?P<version_id>.+)$')
52
-
53
-
54
- def init_logging():
55
- for file in BotoConfigLocations:
56
- try:
57
- logging.config.fileConfig(os.path.expanduser(file))
58
- except:
59
- pass
60
-
61
-
62
- class NullHandler(logging.Handler):
63
- def emit(self, record):
64
- pass
65
-
66
- log = logging.getLogger('boto')
67
- perflog = logging.getLogger('boto.perf')
68
- log.addHandler(NullHandler())
69
- perflog.addHandler(NullHandler())
70
- init_logging()
71
-
72
- # convenience function to set logging to a particular file
73
-
74
-
75
- def set_file_logger(name, filepath, level=logging.INFO, format_string=None):
76
- global log
77
- if not format_string:
78
- format_string = "%(asctime)s %(name)s [%(levelname)s]:%(message)s"
79
- logger = logging.getLogger(name)
80
- logger.setLevel(level)
81
- fh = logging.FileHandler(filepath)
82
- fh.setLevel(level)
83
- formatter = logging.Formatter(format_string)
84
- fh.setFormatter(formatter)
85
- logger.addHandler(fh)
86
- log = logger
87
-
88
-
89
- def set_stream_logger(name, level=logging.DEBUG, format_string=None):
90
- global log
91
- if not format_string:
92
- format_string = "%(asctime)s %(name)s [%(levelname)s]:%(message)s"
93
- logger = logging.getLogger(name)
94
- logger.setLevel(level)
95
- fh = logging.StreamHandler()
96
- fh.setLevel(level)
97
- formatter = logging.Formatter(format_string)
98
- fh.setFormatter(formatter)
99
- logger.addHandler(fh)
100
- log = logger
101
-
102
-
103
- def connect_sqs(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
104
- """
105
- :type aws_access_key_id: string
106
- :param aws_access_key_id: Your AWS Access Key ID
107
-
108
- :type aws_secret_access_key: string
109
- :param aws_secret_access_key: Your AWS Secret Access Key
110
-
111
- :rtype: :class:`boto.sqs.connection.SQSConnection`
112
- :return: A connection to Amazon's SQS
113
- """
114
- from boto.sqs.connection import SQSConnection
115
- return SQSConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
116
-
117
-
118
- def connect_s3(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
119
- """
120
- :type aws_access_key_id: string
121
- :param aws_access_key_id: Your AWS Access Key ID
122
-
123
- :type aws_secret_access_key: string
124
- :param aws_secret_access_key: Your AWS Secret Access Key
125
-
126
- :rtype: :class:`boto.s3.connection.S3Connection`
127
- :return: A connection to Amazon's S3
128
- """
129
- from boto.s3.connection import S3Connection
130
- return S3Connection(aws_access_key_id, aws_secret_access_key, **kwargs)
131
-
132
-
133
- def connect_gs(gs_access_key_id=None, gs_secret_access_key=None, **kwargs):
134
- """
135
- @type gs_access_key_id: string
136
- @param gs_access_key_id: Your Google Cloud Storage Access Key ID
137
-
138
- @type gs_secret_access_key: string
139
- @param gs_secret_access_key: Your Google Cloud Storage Secret Access Key
140
-
141
- @rtype: L{GSConnection<boto.gs.connection.GSConnection>}
142
- @return: A connection to Google's Storage service
143
- """
144
- from boto.gs.connection import GSConnection
145
- return GSConnection(gs_access_key_id, gs_secret_access_key, **kwargs)
146
-
147
-
148
- def connect_ec2(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
149
- """
150
- :type aws_access_key_id: string
151
- :param aws_access_key_id: Your AWS Access Key ID
152
-
153
- :type aws_secret_access_key: string
154
- :param aws_secret_access_key: Your AWS Secret Access Key
155
-
156
- :rtype: :class:`boto.ec2.connection.EC2Connection`
157
- :return: A connection to Amazon's EC2
158
- """
159
- from boto.ec2.connection import EC2Connection
160
- return EC2Connection(aws_access_key_id, aws_secret_access_key, **kwargs)
161
-
162
-
163
- def connect_elb(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
164
- """
165
- :type aws_access_key_id: string
166
- :param aws_access_key_id: Your AWS Access Key ID
167
-
168
- :type aws_secret_access_key: string
169
- :param aws_secret_access_key: Your AWS Secret Access Key
170
-
171
- :rtype: :class:`boto.ec2.elb.ELBConnection`
172
- :return: A connection to Amazon's Load Balancing Service
173
- """
174
- from boto.ec2.elb import ELBConnection
175
- return ELBConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
176
-
177
-
178
- def connect_autoscale(aws_access_key_id=None, aws_secret_access_key=None,
179
- **kwargs):
180
- """
181
- :type aws_access_key_id: string
182
- :param aws_access_key_id: Your AWS Access Key ID
183
-
184
- :type aws_secret_access_key: string
185
- :param aws_secret_access_key: Your AWS Secret Access Key
186
-
187
- :rtype: :class:`boto.ec2.autoscale.AutoScaleConnection`
188
- :return: A connection to Amazon's Auto Scaling Service
189
- """
190
- from boto.ec2.autoscale import AutoScaleConnection
191
- return AutoScaleConnection(aws_access_key_id, aws_secret_access_key,
192
- **kwargs)
193
-
194
-
195
- def connect_cloudwatch(aws_access_key_id=None, aws_secret_access_key=None,
196
- **kwargs):
197
- """
198
- :type aws_access_key_id: string
199
- :param aws_access_key_id: Your AWS Access Key ID
200
-
201
- :type aws_secret_access_key: string
202
- :param aws_secret_access_key: Your AWS Secret Access Key
203
-
204
- :rtype: :class:`boto.ec2.cloudwatch.CloudWatchConnection`
205
- :return: A connection to Amazon's EC2 Monitoring service
206
- """
207
- from boto.ec2.cloudwatch import CloudWatchConnection
208
- return CloudWatchConnection(aws_access_key_id, aws_secret_access_key,
209
- **kwargs)
210
-
211
-
212
- def connect_sdb(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
213
- """
214
- :type aws_access_key_id: string
215
- :param aws_access_key_id: Your AWS Access Key ID
216
-
217
- :type aws_secret_access_key: string
218
- :param aws_secret_access_key: Your AWS Secret Access Key
219
-
220
- :rtype: :class:`boto.sdb.connection.SDBConnection`
221
- :return: A connection to Amazon's SDB
222
- """
223
- from boto.sdb.connection import SDBConnection
224
- return SDBConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
225
-
226
-
227
- def connect_fps(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
228
- """
229
- :type aws_access_key_id: string
230
- :param aws_access_key_id: Your AWS Access Key ID
231
-
232
- :type aws_secret_access_key: string
233
- :param aws_secret_access_key: Your AWS Secret Access Key
234
-
235
- :rtype: :class:`boto.fps.connection.FPSConnection`
236
- :return: A connection to FPS
237
- """
238
- from boto.fps.connection import FPSConnection
239
- return FPSConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
240
-
241
-
242
- def connect_mturk(aws_access_key_id=None, aws_secret_access_key=None,
243
- **kwargs):
244
- """
245
- :type aws_access_key_id: string
246
- :param aws_access_key_id: Your AWS Access Key ID
247
-
248
- :type aws_secret_access_key: string
249
- :param aws_secret_access_key: Your AWS Secret Access Key
250
-
251
- :rtype: :class:`boto.mturk.connection.MTurkConnection`
252
- :return: A connection to MTurk
253
- """
254
- from boto.mturk.connection import MTurkConnection
255
- return MTurkConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
256
-
257
-
258
- def connect_cloudfront(aws_access_key_id=None, aws_secret_access_key=None,
259
- **kwargs):
260
- """
261
- :type aws_access_key_id: string
262
- :param aws_access_key_id: Your AWS Access Key ID
263
-
264
- :type aws_secret_access_key: string
265
- :param aws_secret_access_key: Your AWS Secret Access Key
266
-
267
- :rtype: :class:`boto.fps.connection.FPSConnection`
268
- :return: A connection to FPS
269
- """
270
- from boto.cloudfront import CloudFrontConnection
271
- return CloudFrontConnection(aws_access_key_id, aws_secret_access_key,
272
- **kwargs)
273
-
274
-
275
- def connect_vpc(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
276
- """
277
- :type aws_access_key_id: string
278
- :param aws_access_key_id: Your AWS Access Key ID
279
-
280
- :type aws_secret_access_key: string
281
- :param aws_secret_access_key: Your AWS Secret Access Key
282
-
283
- :rtype: :class:`boto.vpc.VPCConnection`
284
- :return: A connection to VPC
285
- """
286
- from boto.vpc import VPCConnection
287
- return VPCConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
288
-
289
-
290
- def connect_rds(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
291
- """
292
- :type aws_access_key_id: string
293
- :param aws_access_key_id: Your AWS Access Key ID
294
-
295
- :type aws_secret_access_key: string
296
- :param aws_secret_access_key: Your AWS Secret Access Key
297
-
298
- :rtype: :class:`boto.rds.RDSConnection`
299
- :return: A connection to RDS
300
- """
301
- from boto.rds import RDSConnection
302
- return RDSConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
303
-
304
-
305
- def connect_emr(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
306
- """
307
- :type aws_access_key_id: string
308
- :param aws_access_key_id: Your AWS Access Key ID
309
-
310
- :type aws_secret_access_key: string
311
- :param aws_secret_access_key: Your AWS Secret Access Key
312
-
313
- :rtype: :class:`boto.emr.EmrConnection`
314
- :return: A connection to Elastic mapreduce
315
- """
316
- from boto.emr import EmrConnection
317
- return EmrConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
318
-
319
-
320
- def connect_sns(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
321
- """
322
- :type aws_access_key_id: string
323
- :param aws_access_key_id: Your AWS Access Key ID
324
-
325
- :type aws_secret_access_key: string
326
- :param aws_secret_access_key: Your AWS Secret Access Key
327
-
328
- :rtype: :class:`boto.sns.SNSConnection`
329
- :return: A connection to Amazon's SNS
330
- """
331
- from boto.sns import SNSConnection
332
- return SNSConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
333
-
334
-
335
- def connect_iam(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
336
- """
337
- :type aws_access_key_id: string
338
- :param aws_access_key_id: Your AWS Access Key ID
339
-
340
- :type aws_secret_access_key: string
341
- :param aws_secret_access_key: Your AWS Secret Access Key
342
-
343
- :rtype: :class:`boto.iam.IAMConnection`
344
- :return: A connection to Amazon's IAM
345
- """
346
- from boto.iam import IAMConnection
347
- return IAMConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
348
-
349
-
350
- def connect_route53(aws_access_key_id=None, aws_secret_access_key=None,
351
- **kwargs):
352
- """
353
- :type aws_access_key_id: string
354
- :param aws_access_key_id: Your AWS Access Key ID
355
-
356
- :type aws_secret_access_key: string
357
- :param aws_secret_access_key: Your AWS Secret Access Key
358
-
359
- :rtype: :class:`boto.dns.Route53Connection`
360
- :return: A connection to Amazon's Route53 DNS Service
361
- """
362
- from boto.route53 import Route53Connection
363
- return Route53Connection(aws_access_key_id, aws_secret_access_key,
364
- **kwargs)
365
-
366
-
367
- def connect_cloudformation(aws_access_key_id=None, aws_secret_access_key=None,
368
- **kwargs):
369
- """
370
- :type aws_access_key_id: string
371
- :param aws_access_key_id: Your AWS Access Key ID
372
-
373
- :type aws_secret_access_key: string
374
- :param aws_secret_access_key: Your AWS Secret Access Key
375
-
376
- :rtype: :class:`boto.cloudformation.CloudFormationConnection`
377
- :return: A connection to Amazon's CloudFormation Service
378
- """
379
- from boto.cloudformation import CloudFormationConnection
380
- return CloudFormationConnection(aws_access_key_id, aws_secret_access_key,
381
- **kwargs)
382
-
383
-
384
- def connect_euca(host=None, aws_access_key_id=None, aws_secret_access_key=None,
385
- port=8773, path='/services/Eucalyptus', is_secure=False,
386
- **kwargs):
387
- """
388
- Connect to a Eucalyptus service.
389
-
390
- :type host: string
391
- :param host: the host name or ip address of the Eucalyptus server
392
-
393
- :type aws_access_key_id: string
394
- :param aws_access_key_id: Your AWS Access Key ID
395
-
396
- :type aws_secret_access_key: string
397
- :param aws_secret_access_key: Your AWS Secret Access Key
398
-
399
- :rtype: :class:`boto.ec2.connection.EC2Connection`
400
- :return: A connection to Eucalyptus server
401
- """
402
- from boto.ec2 import EC2Connection
403
- from boto.ec2.regioninfo import RegionInfo
404
-
405
- # Check for values in boto config, if not supplied as args
406
- if not aws_access_key_id:
407
- aws_access_key_id = config.get('Credentials',
408
- 'euca_access_key_id',
409
- None)
410
- if not aws_secret_access_key:
411
- aws_secret_access_key = config.get('Credentials',
412
- 'euca_secret_access_key',
413
- None)
414
- if not host:
415
- host = config.get('Boto', 'eucalyptus_host', None)
416
-
417
- reg = RegionInfo(name='eucalyptus', endpoint=host)
418
- return EC2Connection(aws_access_key_id, aws_secret_access_key,
419
- region=reg, port=port, path=path,
420
- is_secure=is_secure, **kwargs)
421
-
422
-
423
- def connect_glacier(aws_access_key_id=None, aws_secret_access_key=None,
424
- **kwargs):
425
- """
426
- :type aws_access_key_id: string
427
- :param aws_access_key_id: Your AWS Access Key ID
428
-
429
- :type aws_secret_access_key: string
430
- :param aws_secret_access_key: Your AWS Secret Access Key
431
-
432
- :rtype: :class:`boto.glacier.layer2.Layer2`
433
- :return: A connection to Amazon's Glacier Service
434
- """
435
- from boto.glacier.layer2 import Layer2
436
- return Layer2(aws_access_key_id, aws_secret_access_key,
437
- **kwargs)
438
-
439
-
440
- def connect_ec2_endpoint(url, aws_access_key_id=None,
441
- aws_secret_access_key=None,
442
- **kwargs):
443
- """
444
- Connect to an EC2 Api endpoint. Additional arguments are passed
445
- through to connect_ec2.
446
-
447
- :type url: string
448
- :param url: A url for the ec2 api endpoint to connect to
449
-
450
- :type aws_access_key_id: string
451
- :param aws_access_key_id: Your AWS Access Key ID
452
-
453
- :type aws_secret_access_key: string
454
- :param aws_secret_access_key: Your AWS Secret Access Key
455
-
456
- :rtype: :class:`boto.ec2.connection.EC2Connection`
457
- :return: A connection to Eucalyptus server
458
- """
459
- from boto.ec2.regioninfo import RegionInfo
460
-
461
- purl = urlparse.urlparse(url)
462
- kwargs['port'] = purl.port
463
- kwargs['host'] = purl.hostname
464
- kwargs['path'] = purl.path
465
- if not 'is_secure' in kwargs:
466
- kwargs['is_secure'] = (purl.scheme == "https")
467
-
468
- kwargs['region'] = RegionInfo(name=purl.hostname,
469
- endpoint=purl.hostname)
470
- kwargs['aws_access_key_id'] = aws_access_key_id
471
- kwargs['aws_secret_access_key'] = aws_secret_access_key
472
-
473
- return(connect_ec2(**kwargs))
474
-
475
-
476
- def connect_walrus(host=None, aws_access_key_id=None,
477
- aws_secret_access_key=None,
478
- port=8773, path='/services/Walrus', is_secure=False,
479
- **kwargs):
480
- """
481
- Connect to a Walrus service.
482
-
483
- :type host: string
484
- :param host: the host name or ip address of the Walrus server
485
-
486
- :type aws_access_key_id: string
487
- :param aws_access_key_id: Your AWS Access Key ID
488
-
489
- :type aws_secret_access_key: string
490
- :param aws_secret_access_key: Your AWS Secret Access Key
491
-
492
- :rtype: :class:`boto.s3.connection.S3Connection`
493
- :return: A connection to Walrus
494
- """
495
- from boto.s3.connection import S3Connection
496
- from boto.s3.connection import OrdinaryCallingFormat
497
-
498
- # Check for values in boto config, if not supplied as args
499
- if not aws_access_key_id:
500
- aws_access_key_id = config.get('Credentials',
501
- 'euca_access_key_id',
502
- None)
503
- if not aws_secret_access_key:
504
- aws_secret_access_key = config.get('Credentials',
505
- 'euca_secret_access_key',
506
- None)
507
- if not host:
508
- host = config.get('Boto', 'walrus_host', None)
509
-
510
- return S3Connection(aws_access_key_id, aws_secret_access_key,
511
- host=host, port=port, path=path,
512
- calling_format=OrdinaryCallingFormat(),
513
- is_secure=is_secure, **kwargs)
514
-
515
-
516
- def connect_ses(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
517
- """
518
- :type aws_access_key_id: string
519
- :param aws_access_key_id: Your AWS Access Key ID
520
-
521
- :type aws_secret_access_key: string
522
- :param aws_secret_access_key: Your AWS Secret Access Key
523
-
524
- :rtype: :class:`boto.ses.SESConnection`
525
- :return: A connection to Amazon's SES
526
- """
527
- from boto.ses import SESConnection
528
- return SESConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
529
-
530
-
531
- def connect_sts(aws_access_key_id=None, aws_secret_access_key=None, **kwargs):
532
- """
533
- :type aws_access_key_id: string
534
- :param aws_access_key_id: Your AWS Access Key ID
535
-
536
- :type aws_secret_access_key: string
537
- :param aws_secret_access_key: Your AWS Secret Access Key
538
-
539
- :rtype: :class:`boto.sts.STSConnection`
540
- :return: A connection to Amazon's STS
541
- """
542
- from boto.sts import STSConnection
543
- return STSConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
544
-
545
-
546
- def connect_ia(ia_access_key_id=None, ia_secret_access_key=None,
547
- is_secure=False, **kwargs):
548
- """
549
- Connect to the Internet Archive via their S3-like API.
550
-
551
- :type ia_access_key_id: string
552
- :param ia_access_key_id: Your IA Access Key ID. This will also look
553
- in your boto config file for an entry in the Credentials
554
- section called "ia_access_key_id"
555
-
556
- :type ia_secret_access_key: string
557
- :param ia_secret_access_key: Your IA Secret Access Key. This will also
558
- look in your boto config file for an entry in the Credentials
559
- section called "ia_secret_access_key"
560
-
561
- :rtype: :class:`boto.s3.connection.S3Connection`
562
- :return: A connection to the Internet Archive
563
- """
564
- from boto.s3.connection import S3Connection
565
- from boto.s3.connection import OrdinaryCallingFormat
566
-
567
- access_key = config.get('Credentials', 'ia_access_key_id',
568
- ia_access_key_id)
569
- secret_key = config.get('Credentials', 'ia_secret_access_key',
570
- ia_secret_access_key)
571
-
572
- return S3Connection(access_key, secret_key,
573
- host='s3.us.archive.org',
574
- calling_format=OrdinaryCallingFormat(),
575
- is_secure=is_secure, **kwargs)
576
-
577
-
578
- def connect_dynamodb(aws_access_key_id=None,
579
- aws_secret_access_key=None,
580
- **kwargs):
581
- """
582
- :type aws_access_key_id: string
583
- :param aws_access_key_id: Your AWS Access Key ID
584
-
585
- :type aws_secret_access_key: string
586
- :param aws_secret_access_key: Your AWS Secret Access Key
587
-
588
- :rtype: :class:`boto.dynamodb.layer2.Layer2`
589
- :return: A connection to the Layer2 interface for DynamoDB.
590
- """
591
- from boto.dynamodb.layer2 import Layer2
592
- return Layer2(aws_access_key_id, aws_secret_access_key, **kwargs)
593
-
594
-
595
- def connect_swf(aws_access_key_id=None,
596
- aws_secret_access_key=None,
597
- **kwargs):
598
- """
599
- :type aws_access_key_id: string
600
- :param aws_access_key_id: Your AWS Access Key ID
601
-
602
- :type aws_secret_access_key: string
603
- :param aws_secret_access_key: Your AWS Secret Access Key
604
-
605
- :rtype: :class:`boto.swf.layer1.Layer1`
606
- :return: A connection to the Layer1 interface for SWF.
607
- """
608
- from boto.swf.layer1 import Layer1
609
- return Layer1(aws_access_key_id, aws_secret_access_key, **kwargs)
610
-
611
-
612
- def connect_cloudsearch(aws_access_key_id=None,
613
- aws_secret_access_key=None,
614
- **kwargs):
615
- """
616
- :type aws_access_key_id: string
617
- :param aws_access_key_id: Your AWS Access Key ID
618
-
619
- :type aws_secret_access_key: string
620
- :param aws_secret_access_key: Your AWS Secret Access Key
621
-
622
- :rtype: :class:`boto.ec2.autoscale.CloudSearchConnection`
623
- :return: A connection to Amazon's CloudSearch service
624
- """
625
- from boto.cloudsearch.layer2 import Layer2
626
- return Layer2(aws_access_key_id, aws_secret_access_key,
627
- **kwargs)
628
-
629
-
630
- def connect_beanstalk(aws_access_key_id=None,
631
- aws_secret_access_key=None,
632
- **kwargs):
633
- """
634
- :type aws_access_key_id: string
635
- :param aws_access_key_id: Your AWS Access Key ID
636
-
637
- :type aws_secret_access_key: string
638
- :param aws_secret_access_key: Your AWS Secret Access Key
639
-
640
- :rtype: :class:`boto.beanstalk.layer1.Layer1`
641
- :return: A connection to Amazon's Elastic Beanstalk service
642
- """
643
- from boto.beanstalk.layer1 import Layer1
644
- return Layer1(aws_access_key_id, aws_secret_access_key, **kwargs)
645
-
646
-
647
- def connect_elastictranscoder(aws_access_key_id=None,
648
- aws_secret_access_key=None,
649
- **kwargs):
650
- """
651
- :type aws_access_key_id: string
652
- :param aws_access_key_id: Your AWS Access Key ID
653
-
654
- :type aws_secret_access_key: string
655
- :param aws_secret_access_key: Your AWS Secret Access Key
656
-
657
- :rtype: :class:`boto.ets.layer1.ElasticTranscoderConnection`
658
- :return: A connection to Amazon's Elastic Transcoder service
659
- """
660
- from boto.elastictranscoder.layer1 import ElasticTranscoderConnection
661
- return ElasticTranscoderConnection(
662
- aws_access_key_id=aws_access_key_id,
663
- aws_secret_access_key=aws_secret_access_key,
664
- **kwargs)
665
-
666
-
667
- def storage_uri(uri_str, default_scheme='file', debug=0, validate=True,
668
- bucket_storage_uri_class=BucketStorageUri,
669
- suppress_consec_slashes=True, is_latest=False):
670
- """
671
- Instantiate a StorageUri from a URI string.
672
-
673
- :type uri_str: string
674
- :param uri_str: URI naming bucket + optional object.
675
- :type default_scheme: string
676
- :param default_scheme: default scheme for scheme-less URIs.
677
- :type debug: int
678
- :param debug: debug level to pass in to boto connection (range 0..2).
679
- :type validate: bool
680
- :param validate: whether to check for bucket name validity.
681
- :type bucket_storage_uri_class: BucketStorageUri interface.
682
- :param bucket_storage_uri_class: Allows mocking for unit tests.
683
- :param suppress_consec_slashes: If provided, controls whether
684
- consecutive slashes will be suppressed in key paths.
685
- :type is_latest: bool
686
- :param is_latest: whether this versioned object represents the
687
- current version.
688
-
689
- We allow validate to be disabled to allow caller
690
- to implement bucket-level wildcarding (outside the boto library;
691
- see gsutil).
692
-
693
- :rtype: :class:`boto.StorageUri` subclass
694
- :return: StorageUri subclass for given URI.
695
-
696
- ``uri_str`` must be one of the following formats:
697
-
698
- * gs://bucket/name
699
- * gs://bucket/name#ver
700
- * s3://bucket/name
701
- * gs://bucket
702
- * s3://bucket
703
- * filename (which could be a Unix path like /a/b/c or a Windows path like
704
- C:\a\b\c)
705
-
706
- The last example uses the default scheme ('file', unless overridden).
707
- """
708
- version_id = None
709
- generation = None
710
-
711
- # Manually parse URI components instead of using urlparse.urlparse because
712
- # what we're calling URIs don't really fit the standard syntax for URIs
713
- # (the latter includes an optional host/net location part).
714
- end_scheme_idx = uri_str.find('://')
715
- if end_scheme_idx == -1:
716
- # Check for common error: user specifies gs:bucket instead
717
- # of gs://bucket. Some URI parsers allow this, but it can cause
718
- # confusion for callers, so we don't.
719
- colon_pos = uri_str.find(':')
720
- if colon_pos != -1:
721
- # Allow Windows path names including drive letter (C: etc.)
722
- drive_char = uri_str[0].lower()
723
- if not (platform.system().lower().startswith('windows')
724
- and colon_pos == 1
725
- and drive_char >= 'a' and drive_char <= 'z'):
726
- raise InvalidUriError('"%s" contains ":" instead of "://"' %
727
- uri_str)
728
- scheme = default_scheme.lower()
729
- path = uri_str
730
- else:
731
- scheme = uri_str[0:end_scheme_idx].lower()
732
- path = uri_str[end_scheme_idx + 3:]
733
-
734
- if scheme not in ['file', 's3', 'gs']:
735
- raise InvalidUriError('Unrecognized scheme "%s"' % scheme)
736
- if scheme == 'file':
737
- # For file URIs we have no bucket name, and use the complete path
738
- # (minus 'file://') as the object name.
739
- is_stream = False
740
- if path == '-':
741
- is_stream = True
742
- return FileStorageUri(path, debug, is_stream)
743
- else:
744
- path_parts = path.split('/', 1)
745
- bucket_name = path_parts[0]
746
- object_name = ''
747
- # If validate enabled, ensure the bucket name is valid, to avoid
748
- # possibly confusing other parts of the code. (For example if we didn't
749
- # catch bucket names containing ':', when a user tried to connect to
750
- # the server with that name they might get a confusing error about
751
- # non-integer port numbers.)
752
- if (validate and bucket_name and
753
- (not BUCKET_NAME_RE.match(bucket_name)
754
- or TOO_LONG_DNS_NAME_COMP.search(bucket_name))):
755
- raise InvalidUriError('Invalid bucket name in URI "%s"' % uri_str)
756
- if scheme == 'gs':
757
- match = GENERATION_RE.search(path)
758
- if match:
759
- md = match.groupdict()
760
- versionless_uri_str = md['versionless_uri_str']
761
- path_parts = versionless_uri_str.split('/', 1)
762
- generation = int(md['generation'])
763
- elif scheme == 's3':
764
- match = VERSION_RE.search(path)
765
- if match:
766
- md = match.groupdict()
767
- versionless_uri_str = md['versionless_uri_str']
768
- path_parts = versionless_uri_str.split('/', 1)
769
- version_id = md['version_id']
770
- else:
771
- raise InvalidUriError('Unrecognized scheme "%s"' % scheme)
772
- if len(path_parts) > 1:
773
- object_name = path_parts[1]
774
- return bucket_storage_uri_class(
775
- scheme, bucket_name, object_name, debug,
776
- suppress_consec_slashes=suppress_consec_slashes,
777
- version_id=version_id, generation=generation, is_latest=is_latest)
778
-
779
-
780
- def storage_uri_for_key(key):
781
- """Returns a StorageUri for the given key.
782
-
783
- :type key: :class:`boto.s3.key.Key` or subclass
784
- :param key: URI naming bucket + optional object.
785
- """
786
- if not isinstance(key, boto.s3.key.Key):
787
- raise InvalidUriError('Requested key (%s) is not a subclass of '
788
- 'boto.s3.key.Key' % str(type(key)))
789
- prov_name = key.bucket.connection.provider.get_provider_name()
790
- uri_str = '%s://%s/%s' % (prov_name, key.bucket.name, key.name)
791
- return storage_uri(uri_str)
792
-
793
- boto.plugin.load_plugins(config)