You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
# Copyright 2013 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.
 | 
						|
 | 
						|
DEPS = [
 | 
						|
  'gsutil',
 | 
						|
  'recipe_engine/path',
 | 
						|
]
 | 
						|
 | 
						|
 | 
						|
def RunSteps(api):
 | 
						|
  """Move things around in a loop!"""
 | 
						|
  local_file = api.path['tmp_base'].join('boom')
 | 
						|
  bucket = 'example'
 | 
						|
  cloud_file = 'some/random/path/to/boom'
 | 
						|
 | 
						|
  api.gsutil.upload(local_file, bucket, cloud_file,
 | 
						|
      metadata={
 | 
						|
        'Test-Field': 'value',
 | 
						|
        'Remove-Me': None,
 | 
						|
        'x-custom-field': 'custom-value',
 | 
						|
        'Cache-Control': 'no-cache',
 | 
						|
      },
 | 
						|
      unauthenticated_url=True)
 | 
						|
 | 
						|
  # Upload without retry wrapper.
 | 
						|
  api.gsutil.upload(local_file, bucket, cloud_file,
 | 
						|
      metadata={
 | 
						|
        'Test-Field': 'value',
 | 
						|
        'Remove-Me': None,
 | 
						|
        'x-custom-field': 'custom-value',
 | 
						|
        'Cache-Control': 'no-cache',
 | 
						|
      },
 | 
						|
      unauthenticated_url=True,
 | 
						|
      parallel_upload=True,
 | 
						|
      multithreaded=True,
 | 
						|
      use_retry_wrapper=False)
 | 
						|
 | 
						|
  api.gsutil(['cp',
 | 
						|
                    'gs://%s/some/random/path/**' % bucket,
 | 
						|
                    'gs://%s/staging' % bucket])
 | 
						|
 | 
						|
  api.gsutil(['cp',
 | 
						|
                    'gs://%s/some/random/path/**' % bucket,
 | 
						|
                    'gs://%s/staging' % bucket], version='3.25')
 | 
						|
 | 
						|
  api.gsutil.download_url(
 | 
						|
      'https://storage.cloud.google.com/' + bucket + '/' + cloud_file,
 | 
						|
      local_file,
 | 
						|
      name='gsutil download url')
 | 
						|
 | 
						|
  # Non-normalized URL.
 | 
						|
  try:
 | 
						|
    api.gsutil.download_url(
 | 
						|
        'https://someotherservice.localhost',
 | 
						|
        local_file,
 | 
						|
        name='gsutil download url')
 | 
						|
  except AssertionError:
 | 
						|
    pass
 | 
						|
 | 
						|
  new_cloud_file = 'staging/to/boom'
 | 
						|
  new_local_file = api.path['tmp_base'].join('erang')
 | 
						|
  api.gsutil.download(bucket, new_cloud_file, new_local_file)
 | 
						|
 | 
						|
  private_key_file = 'path/to/key'
 | 
						|
  _signed_url = api.gsutil.signurl(private_key_file, bucket, cloud_file,
 | 
						|
                                  name='signed url')
 | 
						|
  api.gsutil.remove_url('gs://%s/%s' % (bucket, new_cloud_file))
 | 
						|
 | 
						|
  api.gsutil.list('gs://%s/foo' % bucket)
 | 
						|
  api.gsutil.copy(bucket, cloud_file, bucket, new_cloud_file)
 | 
						|
 | 
						|
  api.gsutil.cat('gs://%s/foo' % bucket)
 | 
						|
 | 
						|
 | 
						|
def GenTests(api):
 | 
						|
  yield api.test('basic')
 |