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

Unified Diff: tools/telemetry/third_party/gsutil/third_party/boto/boto/file/key.py

Issue 1260493004: Revert "Add gsutil 4.13 to telemetry/third_party" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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
Index: tools/telemetry/third_party/gsutil/third_party/boto/boto/file/key.py
diff --git a/tools/telemetry/third_party/gsutil/third_party/boto/boto/file/key.py b/tools/telemetry/third_party/gsutil/third_party/boto/boto/file/key.py
deleted file mode 100644
index 3ec345d464235ac918ef3c22b0b8f40812f23fcf..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/third_party/boto/boto/file/key.py
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 2010 Google Inc.
-# Copyright (c) 2011, Nexenta Systems Inc.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish, dis-
-# tribute, sublicense, and/or sell copies of the Software, and to permit
-# persons to whom the Software is furnished to do so, subject to the fol-
-# lowing conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
-# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-
-# File representation of key, for use with "file://" URIs.
-
-import os, shutil
-import sys
-
-from boto.compat import StringIO
-
-class Key(object):
-
- KEY_STREAM_READABLE = 0x01
- KEY_STREAM_WRITABLE = 0x02
- KEY_STREAM = (KEY_STREAM_READABLE | KEY_STREAM_WRITABLE)
- KEY_REGULAR_FILE = 0x00
-
- def __init__(self, bucket, name, fp=None, key_type=KEY_REGULAR_FILE):
- self.bucket = bucket
- self.full_path = name
- if name == '-':
- self.name = None
- self.size = None
- else:
- self.name = name
- self.size = os.stat(name).st_size
- self.key_type = key_type
- if key_type == self.KEY_STREAM_READABLE:
- self.fp = sys.stdin
- self.full_path = '<STDIN>'
- elif key_type == self.KEY_STREAM_WRITABLE:
- self.fp = sys.stdout
- self.full_path = '<STDOUT>'
- else:
- self.fp = fp
-
- def __str__(self):
- return 'file://' + self.full_path
-
- def get_file(self, fp, headers=None, cb=None, num_cb=10, torrent=False):
- """
- Retrieves a file from a Key
-
- :type fp: file
- :param fp: File pointer to put the data into
-
- :type headers: string
- :param: ignored in this subclass.
-
- :type cb: function
- :param cb: ignored in this subclass.
-
- :type cb: int
- :param num_cb: ignored in this subclass.
- """
- if self.key_type & self.KEY_STREAM_WRITABLE:
- raise BotoClientError('Stream is not readable')
- elif self.key_type & self.KEY_STREAM_READABLE:
- key_file = self.fp
- else:
- key_file = open(self.full_path, 'rb')
- try:
- shutil.copyfileobj(key_file, fp)
- finally:
- key_file.close()
-
- def set_contents_from_file(self, fp, headers=None, replace=True, cb=None,
- num_cb=10, policy=None, md5=None):
- """
- Store an object in a file using the name of the Key object as the
- key in file URI and the contents of the file pointed to by 'fp' as the
- contents.
-
- :type fp: file
- :param fp: the file whose contents to upload
-
- :type headers: dict
- :param headers: ignored in this subclass.
-
- :type replace: bool
- :param replace: If this parameter is False, the method
- will first check to see if an object exists in the
- bucket with the same key. If it does, it won't
- overwrite it. The default value is True which will
- overwrite the object.
-
- :type cb: function
- :param cb: ignored in this subclass.
-
- :type cb: int
- :param num_cb: ignored in this subclass.
-
- :type policy: :class:`boto.s3.acl.CannedACLStrings`
- :param policy: ignored in this subclass.
-
- :type md5: A tuple containing the hexdigest version of the MD5 checksum
- of the file as the first element and the Base64-encoded
- version of the plain checksum as the second element.
- This is the same format returned by the compute_md5 method.
- :param md5: ignored in this subclass.
- """
- if self.key_type & self.KEY_STREAM_READABLE:
- raise BotoClientError('Stream is not writable')
- elif self.key_type & self.KEY_STREAM_WRITABLE:
- key_file = self.fp
- else:
- if not replace and os.path.exists(self.full_path):
- return
- key_file = open(self.full_path, 'wb')
- try:
- shutil.copyfileobj(fp, key_file)
- finally:
- key_file.close()
-
- def get_contents_to_file(self, fp, headers=None, cb=None, num_cb=None,
- torrent=False, version_id=None,
- res_download_handler=None, response_headers=None):
- """
- Copy contents from the current file to the file pointed to by 'fp'.
-
- :type fp: File-like object
- :param fp:
-
- :type headers: dict
- :param headers: Unused in this subclass.
-
- :type cb: function
- :param cb: Unused in this subclass.
-
- :type cb: int
- :param num_cb: Unused in this subclass.
-
- :type torrent: bool
- :param torrent: Unused in this subclass.
-
- :type res_upload_handler: ResumableDownloadHandler
- :param res_download_handler: Unused in this subclass.
-
- :type response_headers: dict
- :param response_headers: Unused in this subclass.
- """
- shutil.copyfileobj(self.fp, fp)
-
- def get_contents_as_string(self, headers=None, cb=None, num_cb=10,
- torrent=False):
- """
- Retrieve file data from the Key, and return contents as a string.
-
- :type headers: dict
- :param headers: ignored in this subclass.
-
- :type cb: function
- :param cb: ignored in this subclass.
-
- :type cb: int
- :param num_cb: ignored in this subclass.
-
- :type cb: int
- :param num_cb: ignored in this subclass.
-
- :type torrent: bool
- :param torrent: ignored in this subclass.
-
- :rtype: string
- :returns: The contents of the file as a string
- """
-
- fp = StringIO()
- self.get_contents_to_file(fp)
- return fp.getvalue()
-
- def is_stream(self):
- return (self.key_type & self.KEY_STREAM)
-
- def close(self):
- """
- Closes fp associated with underlying file.
- Caller should call this method when done with this class, to avoid
- using up OS resources (e.g., when iterating over a large number
- of files).
- """
- self.fp.close()

Powered by Google App Engine
This is Rietveld 408576698