From 114e11330ae47a1017726c47e70113a4f1918cef Mon Sep 17 00:00:00 2001 From: Mark Fox Date: Thu, 18 Dec 2014 11:42:24 -0800 Subject: [PATCH 1/3] data.iteritems given a dictionary to iterate data is a list object, and when merging in it was called with .iteritems() but list objects don't have .iteritems() and this fails when called. data[0] is the first dictionary returned from the stackdriver response. This corrects the bug. --- stackdriver/stackapi.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/stackdriver/stackapi.py b/stackdriver/stackapi.py index 3bf3366..ceb681a 100644 --- a/stackdriver/stackapi.py +++ b/stackdriver/stackapi.py @@ -206,7 +206,7 @@ def __init__(self, rest_class, client, data): raise TypeError('Object must be a dictionary') # copy all items in dict - for key, value in data.iteritems(): + for key, value in data[0].iteritems(): self[key] = value super(AnonStackObject, self).__init__(rest_class, client) @@ -238,7 +238,7 @@ def CREATE(self, headers=None): data = self._unwind_result(resp) # merge response in - for key, value in data.iteritems(): + for key, value in data[0].iteritems(): self[key] = value return self @@ -254,7 +254,7 @@ def UPDATE(self, headers=None): data = self._unwind_result(resp) # merge response in - for key, value in data.iteritems(): + for key, value in data[0].iteritems(): self[key] = value return self @@ -298,7 +298,7 @@ def DELETE(self, headers=None): data = self._unwind_result(resp) # merge response in - for key, value in data.iteritems(): + for key, value in data[0].iteritems(): self[key] = value return self From ac4f02abfea4443806341defe35d290e71fea65b Mon Sep 17 00:00:00 2001 From: Mark Fox Date: Thu, 18 Dec 2014 12:10:54 -0800 Subject: [PATCH 2/3] remove index number on GET When merging keys in, we have a list. When GET runs it's using a dictionary already, so we don't need [0] --- stackdriver/stackapi.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stackdriver/stackapi.py b/stackdriver/stackapi.py index ceb681a..75295ef 100644 --- a/stackdriver/stackapi.py +++ b/stackdriver/stackapi.py @@ -206,7 +206,7 @@ def __init__(self, rest_class, client, data): raise TypeError('Object must be a dictionary') # copy all items in dict - for key, value in data[0].iteritems(): + for key, value in data.iteritems(): self[key] = value super(AnonStackObject, self).__init__(rest_class, client) From 7e5e5806d02fcf4b8633d19adbce6d64f3082083 Mon Sep 17 00:00:00 2001 From: Mark Fox Date: Sat, 7 Mar 2015 10:07:04 -0800 Subject: [PATCH 3/3] Added bugfix version bump --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 35fb213..bdec796 100644 --- a/setup.py +++ b/setup.py @@ -20,7 +20,7 @@ setup( name='stackdriver', - version='0.2', + version='0.2.1', description='Stackdriver Client APIs for Python', long_description=readme + '\n\n', # TODO: add a history file author='John (J5) Palmieri',