diff options
Diffstat (limited to 'sugar_network/db')
-rw-r--r-- | sugar_network/db/directory.py | 2 | ||||
-rw-r--r-- | sugar_network/db/routes.py | 15 |
2 files changed, 11 insertions, 6 deletions
diff --git a/sugar_network/db/directory.py b/sugar_network/db/directory.py index eb2f0e2..96a2923 100644 --- a/sugar_network/db/directory.py +++ b/sugar_network/db/directory.py @@ -313,7 +313,7 @@ class Directory(object): if op is not None: op(patch) for prop, meta in merge.items(): - is_blob = isinstance(self.metadata[prop], BlobProperty) + is_blob = isinstance(self.metadata.get(prop), BlobProperty) record.set(prop, cleanup_blob=is_blob, **meta) if record.consistent: diff --git a/sugar_network/db/routes.py b/sugar_network/db/routes.py index 77e2c4b..123e001 100644 --- a/sugar_network/db/routes.py +++ b/sugar_network/db/routes.py @@ -267,11 +267,16 @@ class Routes(object): if value is None: value = prop.default elif isinstance(value, Blob): - value = value.get('url') - if value is None: - value = '/'.join(['', metadata.name, doc.guid, name]) - if value.startswith('/'): - value = request.static_prefix + value + for key in ('mtime', 'seqno', 'blob'): + if key in value: + del value[key] + url = value.get('url') + if url is None: + value['url'] = '/'.join([ + request.static_prefix, metadata.name, doc.guid, name, + ]) + elif url.startswith('/'): + value['url'] = request.static_prefix + url result[name] = value return result |