diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2014-03-06 15:33:04 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2014-03-07 04:58:00 (GMT) |
commit | 90f74541ec4925bad47466e39517c22ff7eadfe4 (patch) | |
tree | f8fca9c302904981a46e275fcaa5a2305ea99f8d /sugar_network/db/routes.py | |
parent | 1028755053ef3d8c538138b37e61ece13b9c1a23 (diff) |
Keep data synchronization in db module; use blobs storage to keep standalone files
Diffstat (limited to 'sugar_network/db/routes.py')
-rw-r--r-- | sugar_network/db/routes.py | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/sugar_network/db/routes.py b/sugar_network/db/routes.py index d8d2fb4..153e0a7 100644 --- a/sugar_network/db/routes.py +++ b/sugar_network/db/routes.py @@ -19,10 +19,8 @@ import logging from contextlib import contextmanager from sugar_network import toolkit -from sugar_network.db import blobs from sugar_network.db.metadata import Aggregated -from sugar_network.toolkit.router import ACL, File -from sugar_network.toolkit.router import route, preroute, fallbackroute +from sugar_network.toolkit.router import ACL, File, route, fallbackroute from sugar_network.toolkit.coroutine import this from sugar_network.toolkit import http, enforce @@ -39,11 +37,6 @@ class Routes(object): self._find_limit = find_limit this.volume = self.volume - @preroute - def __preroute__(self, op, request, response): - this.request = request - this.response = response - @route('POST', [None], acl=ACL.AUTH, mime_type='application/json') def create(self, request): with self._post(request, ACL.CREATE) as doc: @@ -91,14 +84,6 @@ class Routes(object): self.volume[request.resource].update(doc.guid, doc.props) self.after_post(doc) - @route('GET', [None, None], cmd='diff', mime_type='application/json') - def diff(self, request): - result = {} - res = self.volume[request.resource][request.guid] - for prop, meta, __ in res.diff(toolkit.Sequence([[0, None]])): - result[prop] = meta - return result - @route('PUT', [None, None, None], acl=ACL.AUTH | ACL.AUTHOR) def update_prop(self, request): if request.content is None: @@ -187,8 +172,8 @@ class Routes(object): directory.update(request.guid, {'author': authors}) @fallbackroute('GET', ['blobs']) - def blobs(self, request): - return blobs.get(request.guid) + def blobs(self): + return this.volume.blobs.get(this.request.guid) def on_create(self, request, props): ts = int(time.time()) @@ -215,7 +200,7 @@ class Routes(object): directory = self.volume[request.resource] if access == ACL.CREATE: - doc = directory.resource_class(None, None) + doc = directory.resource(None, None) if 'guid' in content: # TODO Temporal security hole, see TODO guid = content['guid'] |