Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: tools/gs.py

Issue 869193005: Set up a network service bootstrap. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Address James's comments. Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « services/network/download_network_service.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/gs.py
diff --git a/tools/gs.py b/tools/gs.py
new file mode 100755
index 0000000000000000000000000000000000000000..65e6e438cdbe5329f7202b378af8aec9567cc7cd
--- /dev/null
+++ b/tools/gs.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import os
+import subprocess
+import find_depot_tools
+
+def download_from_public_bucket(gs_path, output_path):
+ depot_tools_path = find_depot_tools.add_depot_tools_to_path()
+ gsutil_exe = os.path.join(depot_tools_path, "third_party", "gsutil", "gsutil")
+
+ # We're downloading from a public bucket which does not need authentication,
+ # but the user might have busted credential files somewhere such as ~/.boto
+ # that the gsutil script will try (and fail) to use. Setting these
+ # environment variables convinces gsutil not to attempt to use these, but
+ # also generates a useless warning about failing to load the file. We want
+ # to discard this warning but still preserve all output in the case of an
+ # actual failure. So, we run the script and capture all output and then
+ # throw the output away if the script succeeds (return code 0).
+ env = os.environ.copy()
+ env["AWS_CREDENTIAL_FILE"] = ""
+ env["BOTO_CONFIG"] = ""
+ try:
+ subprocess.check_output(
+ [gsutil_exe,
+ "--bypass_prodaccess",
+ "cp",
+ gs_path,
+ output_path],
+ stderr=subprocess.STDOUT,
+ env=env)
+ except subprocess.CalledProcessError as e:
+ print e.output
+ sys.exit(1)
« no previous file with comments | « services/network/download_network_service.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698