From 0f861aecd8e3ee0b8b62178a602e8df4468783d0 Mon Sep 17 00:00:00 2001 From: Mitch Garnaat Date: Thu, 29 Mar 2012 07:40:23 -0700 Subject: Fixing a dict.keys() problem in layer2.py and an encoding problem in layer1.py. --- boto/dynamodb/layer1.py | 1 + boto/dynamodb/layer2.py | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/boto/dynamodb/layer1.py b/boto/dynamodb/layer1.py index 161dc846..db04729d 100644 --- a/boto/dynamodb/layer1.py +++ b/boto/dynamodb/layer1.py @@ -142,6 +142,7 @@ class Layer1(AWSAuthConnection): status = None if response.status == 400: response_body = response.read() + response_body = response_body.decode('utf-8') boto.log.debug(response_body) data = compat.json.loads(response_body) if self.ThruputError in data.get('__type'): diff --git a/boto/dynamodb/layer2.py b/boto/dynamodb/layer2.py index f0daca15..4e430b2d 100644 --- a/boto/dynamodb/layer2.py +++ b/boto/dynamodb/layer2.py @@ -181,13 +181,15 @@ class Layer2(object): """ dynamodb_key = {} dynamodb_value = dynamize_value(hash_key) - if dynamodb_value.keys()[0] != schema.hash_key_type: + keys = list(dynamodb_value.keys()) + if keys[0] != schema.hash_key_type: msg = 'Hashkey must be of type: %s' % schema.hash_key_type raise TypeError(msg) dynamodb_key['HashKeyElement'] = dynamodb_value if range_key is not None: dynamodb_value = dynamize_value(range_key) - if dynamodb_value.keys()[0] != schema.range_key_type: + keys = list(dynamodb_value.keys()) + if keys[0] != schema.range_key_type: msg = 'RangeKey must be of type: %s' % schema.range_key_type raise TypeError(msg) dynamodb_key['RangeKeyElement'] = dynamodb_value -- cgit v1.2.1