Просмотр исходного кода

[GCS] Add prefix option to upload_to_gs_f_c

R=jojwang@google.com

Change-Id: I23e903d3e1baca854ad44fd3c96b9d0591bf2fe4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5582089
Auto-Submit: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Joanna Wang <jojwang@chromium.org>
Commit-Queue: Joanna Wang <jojwang@chromium.org>
Josip Sokcevic 1 год назад
Родитель
Сommit
499342211b
1 измененных файлов с 10 добавлено и 1 удалено
  1. 10 1
      upload_to_google_storage_first_class.py

+ 10 - 1
upload_to_google_storage_first_class.py

@@ -171,6 +171,10 @@ def main():
     parser.add_option('-b',
                       '--bucket',
                       help='Google Storage bucket to upload to.')
+    parser.add_option('-p',
+                      '--prefix',
+                      help='Prefix that goes before object-name (i.e. in '
+                      'between bucket and object name).')
     parser.add_option('-o',
                       '--object-name',
                       help='Optional object name of uploaded tar file. '
@@ -233,6 +237,9 @@ def main():
     if not object_name:
         object_name = get_sha256sum(file)
 
+    if options.prefix:
+        object_name = f'{options.prefix}/{object_name}'
+
     # Make sure we can find a working instance of gsutil.
     if os.path.exists(GSUTIL_DEFAULT_PATH):
         gsutil = Gsutil(GSUTIL_DEFAULT_PATH, boto_path=options.boto)
@@ -255,7 +262,9 @@ def main():
         gsutil.check_call('version')
         return gsutil.call('config')
 
-    base_url = 'gs://%s' % options.bucket
+    assert '/' not in options.bucket, "Slashes not allowed in bucket name"
+
+    base_url = f'gs://{options.bucket}'
 
     generation = upload_to_google_storage(file, base_url, object_name, gsutil,
                                           options.force, options.gzip,