Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar_network/db/routes.py
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2014-03-06 15:33:04 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2014-03-07 04:58:00 (GMT)
commit90f74541ec4925bad47466e39517c22ff7eadfe4 (patch)
treef8fca9c302904981a46e275fcaa5a2305ea99f8d /sugar_network/db/routes.py
parent1028755053ef3d8c538138b37e61ece13b9c1a23 (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.py23
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']