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

Unified Diff: tools/telemetry/third_party/gsutil/third_party/boto/boto/s3/lifecycle.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/s3/lifecycle.py
diff --git a/tools/telemetry/third_party/gsutil/third_party/boto/boto/s3/lifecycle.py b/tools/telemetry/third_party/gsutil/third_party/boto/boto/s3/lifecycle.py
deleted file mode 100644
index 8ceb879570edaab72b78a70f3dbc050b7748f053..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/third_party/boto/boto/s3/lifecycle.py
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright (c) 2012 Mitch Garnaat http://garnaat.org/
-# Copyright (c) 2012 Amazon.com, Inc. or its affiliates. All Rights Reserved
-#
-# 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.
-from boto.compat import six
-
-class Rule(object):
- """
- A Lifecycle rule for an S3 bucket.
-
- :ivar id: Unique identifier for the rule. The value cannot be longer
- than 255 characters. This value is optional. The server will
- generate a unique value for the rule if no value is provided.
-
- :ivar prefix: Prefix identifying one or more objects to which the
- rule applies. If prefix is not provided, Boto generates a default
- prefix which will match all objects.
-
- :ivar status: If 'Enabled', the rule is currently being applied.
- If 'Disabled', the rule is not currently being applied.
-
- :ivar expiration: An instance of `Expiration`. This indicates
- the lifetime of the objects that are subject to the rule.
-
- :ivar transition: An instance of `Transition`. This indicates
- when to transition to a different storage class.
-
- """
- def __init__(self, id=None, prefix=None, status=None, expiration=None,
- transition=None):
- self.id = id
- self.prefix = '' if prefix is None else prefix
- self.status = status
- if isinstance(expiration, six.integer_types):
- # retain backwards compatibility???
- self.expiration = Expiration(days=expiration)
- else:
- # None or object
- self.expiration = expiration
- self.transition = transition
-
- def __repr__(self):
- return '<Rule: %s>' % self.id
-
- def startElement(self, name, attrs, connection):
- if name == 'Transition':
- self.transition = Transition()
- return self.transition
- elif name == 'Expiration':
- self.expiration = Expiration()
- return self.expiration
- return None
-
- def endElement(self, name, value, connection):
- if name == 'ID':
- self.id = value
- elif name == 'Prefix':
- self.prefix = value
- elif name == 'Status':
- self.status = value
- else:
- setattr(self, name, value)
-
- def to_xml(self):
- s = '<Rule>'
- if self.id is not None:
- s += '<ID>%s</ID>' % self.id
- s += '<Prefix>%s</Prefix>' % self.prefix
- s += '<Status>%s</Status>' % self.status
- if self.expiration is not None:
- s += self.expiration.to_xml()
- if self.transition is not None:
- s += self.transition.to_xml()
- s += '</Rule>'
- return s
-
-class Expiration(object):
- """
- When an object will expire.
-
- :ivar days: The number of days until the object expires
-
- :ivar date: The date when the object will expire. Must be
- in ISO 8601 format.
- """
- def __init__(self, days=None, date=None):
- self.days = days
- self.date = date
-
- def startElement(self, name, attrs, connection):
- return None
-
- def endElement(self, name, value, connection):
- if name == 'Days':
- self.days = int(value)
- elif name == 'Date':
- self.date = value
-
- def __repr__(self):
- if self.days is None:
- how_long = "on: %s" % self.date
- else:
- how_long = "in: %s days" % self.days
- return '<Expiration: %s>' % how_long
-
- def to_xml(self):
- s = '<Expiration>'
- if self.days is not None:
- s += '<Days>%s</Days>' % self.days
- elif self.date is not None:
- s += '<Date>%s</Date>' % self.date
- s += '</Expiration>'
- return s
-
-class Transition(object):
- """
- A transition to a different storage class.
-
- :ivar days: The number of days until the object should be moved.
-
- :ivar date: The date when the object should be moved. Should be
- in ISO 8601 format.
-
- :ivar storage_class: The storage class to transition to. Valid
- values are GLACIER.
-
- """
- def __init__(self, days=None, date=None, storage_class=None):
- self.days = days
- self.date = date
- self.storage_class = storage_class
-
- def startElement(self, name, attrs, connection):
- return None
-
- def endElement(self, name, value, connection):
- if name == 'Days':
- self.days = int(value)
- elif name == 'Date':
- self.date = value
- elif name == 'StorageClass':
- self.storage_class = value
-
- def __repr__(self):
- if self.days is None:
- how_long = "on: %s" % self.date
- else:
- how_long = "in: %s days" % self.days
- return '<Transition: %s, %s>' % (how_long, self.storage_class)
-
- def to_xml(self):
- s = '<Transition>'
- s += '<StorageClass>%s</StorageClass>' % self.storage_class
- if self.days is not None:
- s += '<Days>%s</Days>' % self.days
- elif self.date is not None:
- s += '<Date>%s</Date>' % self.date
- s += '</Transition>'
- return s
-
-class Lifecycle(list):
- """
- A container for the rules associated with a Lifecycle configuration.
- """
-
- def startElement(self, name, attrs, connection):
- if name == 'Rule':
- rule = Rule()
- self.append(rule)
- return rule
- return None
-
- def endElement(self, name, value, connection):
- setattr(self, name, value)
-
- def to_xml(self):
- """
- Returns a string containing the XML version of the Lifecycle
- configuration as defined by S3.
- """
- s = '<?xml version="1.0" encoding="UTF-8"?>'
- s += '<LifecycleConfiguration>'
- for rule in self:
- s += rule.to_xml()
- s += '</LifecycleConfiguration>'
- return s
-
- def add_rule(self, id=None, prefix='', status='Enabled',
- expiration=None, transition=None):
- """
- Add a rule to this Lifecycle configuration. This only adds
- the rule to the local copy. To install the new rule(s) on
- the bucket, you need to pass this Lifecycle config object
- to the configure_lifecycle method of the Bucket object.
-
- :type id: str
- :param id: Unique identifier for the rule. The value cannot be longer
- than 255 characters. This value is optional. The server will
- generate a unique value for the rule if no value is provided.
-
- :type prefix: str
- :iparam prefix: Prefix identifying one or more objects to which the
- rule applies.
-
- :type status: str
- :param status: If 'Enabled', the rule is currently being applied.
- If 'Disabled', the rule is not currently being applied.
-
- :type expiration: int
- :param expiration: Indicates the lifetime, in days, of the objects
- that are subject to the rule. The value must be a non-zero
- positive integer. A Expiration object instance is also perfect.
-
- :type transition: Transition
- :param transition: Indicates when an object transitions to a
- different storage class.
- """
- rule = Rule(id, prefix, status, expiration, transition)
- self.append(rule)

Powered by Google App Engine
This is Rietveld 408576698