[snowy] Slight cleanup and refactoring of handlers.py
- From: Brad Taylor <btaylor src gnome org>
- To: svn-commits-list gnome org
- Subject: [snowy] Slight cleanup and refactoring of handlers.py
- Date: Mon, 18 May 2009 13:46:37 -0400 (EDT)
commit 09f561397083cde1fbf25ed3b76f96d9b3d97e3c
Author: Brad Taylor <brad getcoded net>
Date: Mon May 18 11:28:04 2009 -0400
Slight cleanup and refactoring of handlers.py
---
api/handlers.py | 24 +++++++++++++++---------
1 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/api/handlers.py b/api/handlers.py
index 7eb0255..fd8b376 100644
--- a/api/handlers.py
+++ b/api/handlers.py
@@ -72,10 +72,12 @@ class NotesHandler(BaseHandler):
def read(self, request, username):
user = User.objects.get(username=username)
notes = Note.objects.filter(author=user)
+
if request.user != user:
notes.filter(permissions=1) # Public only
+
if request.GET.has_key('since'):
- notes=notes.filter(last_sync_rev__gt = int(request.GET['since']))
+ notes = notes.filter(last_sync_rev__gt=int(request.GET['since']))
response = {'latest-sync-revision': get_latest_sync_rev(user)}
if request.GET.has_key('include_notes'):
@@ -98,20 +100,23 @@ class NotesHandler(BaseHandler):
update = json.loads(request.raw_post_data)
current_sync_rev = get_latest_sync_rev(user)
+ new_sync_rev = current_sync_rev + 1
+
if update.has_key('latest-sync-revision'):
new_sync_rev = update['latest-sync-revision']
- else:
- new_sync_rev = current_sync_rev + 1
if new_sync_rev != current_sync_rev + 1:
# TODO: Return a more useful error response?
return rc.BAD_REQUEST
for c in update['note-changes']:
- note, created = Note.objects.get_or_create(author=user, guid=c['guid'])
+ note, created = Note.objects.get_or_create(author=user,
+ guid=c['guid'])
+
if c.has_key('command') and c['command'] == 'delete':
note.delete()
continue
+
if c.has_key('title'): note.title = c['title']
if c.has_key('note-content'): note.content = c['note-content']
if c.has_key('note-content-version'): note.content_version = c['note-content-version']
@@ -122,8 +127,9 @@ class NotesHandler(BaseHandler):
note.modified = datetime.now()
if c.has_key('create-date'): note.created = clean_date(c['create-date'])
if c.has_key('open-on-startup'): note.open_on_startup = (c['open-on-startup'] == 'true')
+
note.last_sync_rev = new_sync_rev
- # TODO: if User model gets a latest_sync_rev field, update it, too
+
# TODO: tags
note.save()
@@ -177,7 +183,7 @@ def simple_describe_note(note):
}
def get_latest_sync_rev(user):
- max_rev = Note.objects.filter(author=user).aggregate(Max('last_sync_rev'))['last_sync_rev__max']
- if max_rev is None:
- return -1
- return max_rev
+ max_rev = Note.objects.filter(author=user)
+ .aggregate(Max('last_sync_rev')) \
+ ['last_sync_rev__max']
+ return max_rev if max_rev != None else -1
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]