No longer adding in the 'data' wrapper object if it is missing, as some APIs don't use it.
diff --git a/apiclient/discovery.py b/apiclient/discovery.py
index fe98db1..db042f7 100644
--- a/apiclient/discovery.py
+++ b/apiclient/discovery.py
@@ -88,12 +88,8 @@
if body_value is None:
return (headers, path_params, query, None)
else:
- if len(body_value) == 1 and 'data' in body_value:
- model = body_value
- else:
- model = {'data': body_value}
headers['content-type'] = 'application/json'
- return (headers, path_params, query, simplejson.dumps(model))
+ return (headers, path_params, query, simplejson.dumps(body_value))
def build_query(self, params):
params.update({'alt': 'json'})
diff --git a/samples/buzz/buzz.py b/samples/buzz/buzz.py
index a49e3a6..94cba2a 100644
--- a/samples/buzz/buzz.py
+++ b/samples/buzz/buzz.py
@@ -36,15 +36,18 @@
print "Retrieved the first two activities"
# Retrieve the next two activities
- activitylist = activities.list_next(activitylist).execute()
- print "Retrieved the next two activities"
+ if activitylist:
+ activitylist = activities.list_next(activitylist).execute()
+ print "Retrieved the next two activities"
# Add a new activity
new_activity_body = {
- 'title': 'Testing insert',
- 'object': {
- 'content': u'Just a short note to show that insert is working. ☄',
- 'type': 'note'}
+ "data": {
+ 'title': 'Testing insert',
+ 'object': {
+ 'content': u'Just a short note to show that insert is working. ☄',
+ 'type': 'note'}
+ }
}
activity = activities.insert(userId='@me', body=new_activity_body).execute()
print "Added a new activity"
diff --git a/samples/moderator/moderator.py b/samples/moderator/moderator.py
index 3d742e8..da8d344 100644
--- a/samples/moderator/moderator.py
+++ b/samples/moderator/moderator.py
@@ -31,9 +31,11 @@
p = build("moderator", "v1", http=http)
series_body = {
+ "data": {
"description": "Share and rank tips for eating healthily on the cheaps!",
"name": "Eating Healthy & Cheap",
"videoSubmissionAllowed": False
+ }
}
series = p.series().insert(body=series_body).execute()
print "Created a new series"
diff --git a/samples/threadqueue/main.py b/samples/threadqueue/main.py
index 5e9314e..1b3b6af 100644
--- a/samples/threadqueue/main.py
+++ b/samples/threadqueue/main.py
@@ -81,9 +81,11 @@
p = build("moderator", "v1", http=http)
series_body = {
- "description": "An example of bulk creating topics",
- "name": "Using threading and queues",
- "videoSubmissionAllowed": False
+ "data": {
+ "description": "An example of bulk creating topics",
+ "name": "Using threading and queues",
+ "videoSubmissionAllowed": False
+ }
}
series = p.series().insert(body=series_body).execute()
print "Created a new series"
diff --git a/tests/test_json_model.py b/tests/test_json_model.py
index 2bf0302..5ce9b63 100644
--- a/tests/test_json_model.py
+++ b/tests/test_json_model.py
@@ -62,7 +62,7 @@
self.assertEqual(headers['accept'], 'application/json')
self.assertEqual(headers['content-type'], 'application/json')
self.assertNotEqual(query, '')
- self.assertEqual(body, '{"data": {}}')
+ self.assertEqual(body, '{}')
def test_json_body_default_data(self):
"""Test that a 'data' wrapper doesn't get added if one is already present."""
@@ -96,7 +96,7 @@
query_dict = parse_qs(query)
self.assertEqual(query_dict['foo'], ['1'])
self.assertEqual(query_dict['bar'], [u'\N{COMET}'.encode('utf-8')])
- self.assertEqual(body, '{"data": {}}')
+ self.assertEqual(body, '{}')
def test_user_agent(self):
model = JsonModel()