| Index: tools/telemetry/third_party/gsutilz/third_party/boto/boto/dynamodb/item.py
|
| diff --git a/tools/telemetry/third_party/gsutilz/third_party/boto/boto/dynamodb/item.py b/tools/telemetry/third_party/gsutilz/third_party/boto/boto/dynamodb/item.py
|
| deleted file mode 100644
|
| index a47f22bf0e1f0d9cdca543aa1d1c8a607ac58215..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/third_party/gsutilz/third_party/boto/boto/dynamodb/item.py
|
| +++ /dev/null
|
| @@ -1,202 +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.dynamodb.exceptions import DynamoDBItemError
|
| -
|
| -
|
| -class Item(dict):
|
| - """
|
| - An item in Amazon DynamoDB.
|
| -
|
| - :ivar hash_key: The HashKey of this item.
|
| - :ivar range_key: The RangeKey of this item or None if no RangeKey
|
| - is defined.
|
| - :ivar hash_key_name: The name of the HashKey associated with this item.
|
| - :ivar range_key_name: The name of the RangeKey associated with this item.
|
| - :ivar table: The Table this item belongs to.
|
| - """
|
| -
|
| - def __init__(self, table, hash_key=None, range_key=None, attrs=None):
|
| - self.table = table
|
| - self._updates = None
|
| - self._hash_key_name = self.table.schema.hash_key_name
|
| - self._range_key_name = self.table.schema.range_key_name
|
| - if attrs is None:
|
| - attrs = {}
|
| - if hash_key is None:
|
| - hash_key = attrs.get(self._hash_key_name, None)
|
| - self[self._hash_key_name] = hash_key
|
| - if self._range_key_name:
|
| - if range_key is None:
|
| - range_key = attrs.get(self._range_key_name, None)
|
| - self[self._range_key_name] = range_key
|
| - self._updates = {}
|
| - for key, value in attrs.items():
|
| - if key != self._hash_key_name and key != self._range_key_name:
|
| - self[key] = value
|
| - self.consumed_units = 0
|
| -
|
| - @property
|
| - def hash_key(self):
|
| - return self[self._hash_key_name]
|
| -
|
| - @property
|
| - def range_key(self):
|
| - return self.get(self._range_key_name)
|
| -
|
| - @property
|
| - def hash_key_name(self):
|
| - return self._hash_key_name
|
| -
|
| - @property
|
| - def range_key_name(self):
|
| - return self._range_key_name
|
| -
|
| - def add_attribute(self, attr_name, attr_value):
|
| - """
|
| - Queue the addition of an attribute to an item in DynamoDB.
|
| - This will eventually result in an UpdateItem request being issued
|
| - with an update action of ADD when the save method is called.
|
| -
|
| - :type attr_name: str
|
| - :param attr_name: Name of the attribute you want to alter.
|
| -
|
| - :type attr_value: int|long|float|set
|
| - :param attr_value: Value which is to be added to the attribute.
|
| - """
|
| - self._updates[attr_name] = ("ADD", attr_value)
|
| -
|
| - def delete_attribute(self, attr_name, attr_value=None):
|
| - """
|
| - Queue the deletion of an attribute from an item in DynamoDB.
|
| - This call will result in a UpdateItem request being issued
|
| - with update action of DELETE when the save method is called.
|
| -
|
| - :type attr_name: str
|
| - :param attr_name: Name of the attribute you want to alter.
|
| -
|
| - :type attr_value: set
|
| - :param attr_value: A set of values to be removed from the attribute.
|
| - This parameter is optional. If None, the whole attribute is
|
| - removed from the item.
|
| - """
|
| - self._updates[attr_name] = ("DELETE", attr_value)
|
| -
|
| - def put_attribute(self, attr_name, attr_value):
|
| - """
|
| - Queue the putting of an attribute to an item in DynamoDB.
|
| - This call will result in an UpdateItem request being issued
|
| - with the update action of PUT when the save method is called.
|
| -
|
| - :type attr_name: str
|
| - :param attr_name: Name of the attribute you want to alter.
|
| -
|
| - :type attr_value: int|long|float|str|set
|
| - :param attr_value: New value of the attribute.
|
| - """
|
| - self._updates[attr_name] = ("PUT", attr_value)
|
| -
|
| - def save(self, expected_value=None, return_values=None):
|
| - """
|
| - Commits pending updates to Amazon DynamoDB.
|
| -
|
| - :type expected_value: dict
|
| - :param expected_value: A dictionary of name/value pairs that
|
| - you expect. This dictionary should have name/value pairs
|
| - where the name is the name of the attribute and the value is
|
| - either the value you are expecting or False if you expect
|
| - the attribute not to exist.
|
| -
|
| - :type return_values: str
|
| - :param return_values: Controls the return of attribute name/value pairs
|
| - before they were updated. Possible values are: None, 'ALL_OLD',
|
| - 'UPDATED_OLD', 'ALL_NEW' or 'UPDATED_NEW'. If 'ALL_OLD' is
|
| - specified and the item is overwritten, the content of the old item
|
| - is returned. If 'ALL_NEW' is specified, then all the attributes of
|
| - the new version of the item are returned. If 'UPDATED_NEW' is
|
| - specified, the new versions of only the updated attributes are
|
| - returned.
|
| - """
|
| - return self.table.layer2.update_item(self, expected_value,
|
| - return_values)
|
| -
|
| - def delete(self, expected_value=None, return_values=None):
|
| - """
|
| - Delete the item from DynamoDB.
|
| -
|
| - :type expected_value: dict
|
| - :param expected_value: A dictionary of name/value pairs that
|
| - you expect. This dictionary should have name/value pairs
|
| - where the name is the name of the attribute and the value
|
| - is either the value you are expecting or False if you expect
|
| - the attribute not to exist.
|
| -
|
| - :type return_values: str
|
| - :param return_values: Controls the return of attribute
|
| - name-value pairs before then were changed. Possible
|
| - values are: None or 'ALL_OLD'. If 'ALL_OLD' is
|
| - specified and the item is overwritten, the content
|
| - of the old item is returned.
|
| - """
|
| - return self.table.layer2.delete_item(self, expected_value,
|
| - return_values)
|
| -
|
| - def put(self, expected_value=None, return_values=None):
|
| - """
|
| - Store a new item or completely replace an existing item
|
| - in Amazon DynamoDB.
|
| -
|
| - :type expected_value: dict
|
| - :param expected_value: A dictionary of name/value pairs that
|
| - you expect. This dictionary should have name/value pairs
|
| - where the name is the name of the attribute and the value
|
| - is either the value you are expecting or False if you expect
|
| - the attribute not to exist.
|
| -
|
| - :type return_values: str
|
| - :param return_values: Controls the return of attribute
|
| - name-value pairs before then were changed. Possible
|
| - values are: None or 'ALL_OLD'. If 'ALL_OLD' is
|
| - specified and the item is overwritten, the content
|
| - of the old item is returned.
|
| - """
|
| - return self.table.layer2.put_item(self, expected_value, return_values)
|
| -
|
| - def __setitem__(self, key, value):
|
| - """Overrwrite the setter to instead update the _updates
|
| - method so this can act like a normal dict"""
|
| - if self._updates is not None:
|
| - self.put_attribute(key, value)
|
| - dict.__setitem__(self, key, value)
|
| -
|
| - def __delitem__(self, key):
|
| - """Remove this key from the items"""
|
| - if self._updates is not None:
|
| - self.delete_attribute(key)
|
| - dict.__delitem__(self, key)
|
| -
|
| - # Allow this item to still be pickled
|
| - def __getstate__(self):
|
| - return self.__dict__
|
| - def __setstate__(self, d):
|
| - self.__dict__.update(d)
|
|
|