Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-03-15 11:50:12 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-03-15 11:50:12 (GMT)
commit3a83a33d019d7f13c43342576bd5aecd75a4c30c (patch)
tree4674689c7b667eaa40e80eea1b2e73d7d862a874
parent5176c705483d2643403127e8c1669bffd92299c1 (diff)
Set blob properties
-rw-r--r--sugar_network/client.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/sugar_network/client.py b/sugar_network/client.py
index 671a319..8fbf06f 100644
--- a/sugar_network/client.py
+++ b/sugar_network/client.py
@@ -254,19 +254,27 @@ class Object(dict):
self._path = '/%s/%s' % (self._resource, self['guid'])
self._dirty.clear()
+ def set_blob(self, prop, data):
+ enforce('guid' in self, _('Object needs to be postet first'))
+ request('PUT', '/%s/%s/%s' % (self._resource, self['guid'], prop),
+ headers={'Content-Type': 'application/octet-stream'},
+ data=data)
+
def delete(resource, guid):
request('DELETE', '/%s/%s' % (resource, guid))
-def request(method, path, data=None, params=None):
+def request(method, path, data=None, params=None, headers=None):
if not _headers:
uid = sugar.guid()
_headers['sugar_user'] = uid
_headers['sugar_user_signature'] = _sign(uid)
- headers = _headers.copy()
- if method in ('PUT', 'POST'):
+ if headers is None:
+ headers = {}
+ headers.update(_headers)
+ if method in ('PUT', 'POST') and 'Content-Type' not in headers:
headers['Content-Type'] = 'application/json'
data = json.dumps(data)