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

Unified Diff: tools/telemetry/third_party/gsutil/third_party/boto/boto/dynamodb2/fields.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/dynamodb2/fields.py
diff --git a/tools/telemetry/third_party/gsutil/third_party/boto/boto/dynamodb2/fields.py b/tools/telemetry/third_party/gsutil/third_party/boto/boto/dynamodb2/fields.py
deleted file mode 100644
index 4443969e4e1c43d0c87bce02233a7b654410b498..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/third_party/boto/boto/dynamodb2/fields.py
+++ /dev/null
@@ -1,337 +0,0 @@
-from boto.dynamodb2.types import STRING
-
-
-class BaseSchemaField(object):
- """
- An abstract class for defining schema fields.
-
- Contains most of the core functionality for the field. Subclasses must
- define an ``attr_type`` to pass to DynamoDB.
- """
- attr_type = None
-
- def __init__(self, name, data_type=STRING):
- """
- Creates a Python schema field, to represent the data to pass to
- DynamoDB.
-
- Requires a ``name`` parameter, which should be a string name of the
- field.
-
- Optionally accepts a ``data_type`` parameter, which should be a
- constant from ``boto.dynamodb2.types``. (Default: ``STRING``)
- """
- self.name = name
- self.data_type = data_type
-
- def definition(self):
- """
- Returns the attribute definition structure DynamoDB expects.
-
- Example::
-
- >>> field.definition()
- {
- 'AttributeName': 'username',
- 'AttributeType': 'S',
- }
-
- """
- return {
- 'AttributeName': self.name,
- 'AttributeType': self.data_type,
- }
-
- def schema(self):
- """
- Returns the schema structure DynamoDB expects.
-
- Example::
-
- >>> field.schema()
- {
- 'AttributeName': 'username',
- 'KeyType': 'HASH',
- }
-
- """
- return {
- 'AttributeName': self.name,
- 'KeyType': self.attr_type,
- }
-
-
-class HashKey(BaseSchemaField):
- """
- An field representing a hash key.
-
- Example::
-
- >>> from boto.dynamodb2.types import NUMBER
- >>> HashKey('username')
- >>> HashKey('date_joined', data_type=NUMBER)
-
- """
- attr_type = 'HASH'
-
-
-class RangeKey(BaseSchemaField):
- """
- An field representing a range key.
-
- Example::
-
- >>> from boto.dynamodb2.types import NUMBER
- >>> HashKey('username')
- >>> HashKey('date_joined', data_type=NUMBER)
-
- """
- attr_type = 'RANGE'
-
-
-class BaseIndexField(object):
- """
- An abstract class for defining schema indexes.
-
- Contains most of the core functionality for the index. Subclasses must
- define a ``projection_type`` to pass to DynamoDB.
- """
- def __init__(self, name, parts):
- self.name = name
- self.parts = parts
-
- def definition(self):
- """
- Returns the attribute definition structure DynamoDB expects.
-
- Example::
-
- >>> index.definition()
- {
- 'AttributeName': 'username',
- 'AttributeType': 'S',
- }
-
- """
- definition = []
-
- for part in self.parts:
- definition.append({
- 'AttributeName': part.name,
- 'AttributeType': part.data_type,
- })
-
- return definition
-
- def schema(self):
- """
- Returns the schema structure DynamoDB expects.
-
- Example::
-
- >>> index.schema()
- {
- 'IndexName': 'LastNameIndex',
- 'KeySchema': [
- {
- 'AttributeName': 'username',
- 'KeyType': 'HASH',
- },
- ],
- 'Projection': {
- 'ProjectionType': 'KEYS_ONLY',
- }
- }
-
- """
- key_schema = []
-
- for part in self.parts:
- key_schema.append(part.schema())
-
- return {
- 'IndexName': self.name,
- 'KeySchema': key_schema,
- 'Projection': {
- 'ProjectionType': self.projection_type,
- }
- }
-
-
-class AllIndex(BaseIndexField):
- """
- An index signifying all fields should be in the index.
-
- Example::
-
- >>> AllIndex('MostRecentlyJoined', parts=[
- ... HashKey('username'),
- ... RangeKey('date_joined')
- ... ])
-
- """
- projection_type = 'ALL'
-
-
-class KeysOnlyIndex(BaseIndexField):
- """
- An index signifying only key fields should be in the index.
-
- Example::
-
- >>> KeysOnlyIndex('MostRecentlyJoined', parts=[
- ... HashKey('username'),
- ... RangeKey('date_joined')
- ... ])
-
- """
- projection_type = 'KEYS_ONLY'
-
-
-class IncludeIndex(BaseIndexField):
- """
- An index signifying only certain fields should be in the index.
-
- Example::
-
- >>> IncludeIndex('GenderIndex', parts=[
- ... HashKey('username'),
- ... RangeKey('date_joined')
- ... ], includes=['gender'])
-
- """
- projection_type = 'INCLUDE'
-
- def __init__(self, *args, **kwargs):
- self.includes_fields = kwargs.pop('includes', [])
- super(IncludeIndex, self).__init__(*args, **kwargs)
-
- def schema(self):
- schema_data = super(IncludeIndex, self).schema()
- schema_data['Projection']['NonKeyAttributes'] = self.includes_fields
- return schema_data
-
-
-class GlobalBaseIndexField(BaseIndexField):
- """
- An abstract class for defining global indexes.
-
- Contains most of the core functionality for the index. Subclasses must
- define a ``projection_type`` to pass to DynamoDB.
- """
- throughput = {
- 'read': 5,
- 'write': 5,
- }
-
- def __init__(self, *args, **kwargs):
- throughput = kwargs.pop('throughput', None)
-
- if throughput is not None:
- self.throughput = throughput
-
- super(GlobalBaseIndexField, self).__init__(*args, **kwargs)
-
- def schema(self):
- """
- Returns the schema structure DynamoDB expects.
-
- Example::
-
- >>> index.schema()
- {
- 'IndexName': 'LastNameIndex',
- 'KeySchema': [
- {
- 'AttributeName': 'username',
- 'KeyType': 'HASH',
- },
- ],
- 'Projection': {
- 'ProjectionType': 'KEYS_ONLY',
- },
- 'ProvisionedThroughput': {
- 'ReadCapacityUnits': 5,
- 'WriteCapacityUnits': 5
- }
- }
-
- """
- schema_data = super(GlobalBaseIndexField, self).schema()
- schema_data['ProvisionedThroughput'] = {
- 'ReadCapacityUnits': int(self.throughput['read']),
- 'WriteCapacityUnits': int(self.throughput['write']),
- }
- return schema_data
-
-
-class GlobalAllIndex(GlobalBaseIndexField):
- """
- An index signifying all fields should be in the index.
-
- Example::
-
- >>> GlobalAllIndex('MostRecentlyJoined', parts=[
- ... HashKey('username'),
- ... RangeKey('date_joined')
- ... ],
- ... throughput={
- ... 'read': 2,
- ... 'write': 1,
- ... })
-
- """
- projection_type = 'ALL'
-
-
-class GlobalKeysOnlyIndex(GlobalBaseIndexField):
- """
- An index signifying only key fields should be in the index.
-
- Example::
-
- >>> GlobalKeysOnlyIndex('MostRecentlyJoined', parts=[
- ... HashKey('username'),
- ... RangeKey('date_joined')
- ... ],
- ... throughput={
- ... 'read': 2,
- ... 'write': 1,
- ... })
-
- """
- projection_type = 'KEYS_ONLY'
-
-
-class GlobalIncludeIndex(GlobalBaseIndexField, IncludeIndex):
- """
- An index signifying only certain fields should be in the index.
-
- Example::
-
- >>> GlobalIncludeIndex('GenderIndex', parts=[
- ... HashKey('username'),
- ... RangeKey('date_joined')
- ... ],
- ... includes=['gender'],
- ... throughput={
- ... 'read': 2,
- ... 'write': 1,
- ... })
-
- """
- projection_type = 'INCLUDE'
-
- def __init__(self, *args, **kwargs):
- throughput = kwargs.pop('throughput', None)
- IncludeIndex.__init__(self, *args, **kwargs)
- if throughput:
- kwargs['throughput'] = throughput
- GlobalBaseIndexField.__init__(self, *args, **kwargs)
-
- def schema(self):
- # Pick up the includes.
- schema_data = IncludeIndex.schema(self)
- # Also the throughput.
- schema_data.update(GlobalBaseIndexField.schema(self))
- return schema_data

Powered by Google App Engine
This is Rietveld 408576698