diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-03-15 11:50:12 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-03-15 11:50:12 (GMT) |
commit | 3a83a33d019d7f13c43342576bd5aecd75a4c30c (patch) | |
tree | 4674689c7b667eaa40e80eea1b2e73d7d862a874 | |
parent | 5176c705483d2643403127e8c1669bffd92299c1 (diff) |
Set blob properties
-rw-r--r-- | sugar_network/client.py | 14 |
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) |