[snowy] Add support for current-sync-guid field in User resource.



commit e868100baab928ab30864096911fe9da6013e09a
Author: Sandy Armstrong <sanfordarmstrong gmail com>
Date:   Tue May 19 13:34:41 2009 -0700

    Add support for current-sync-guid field in User resource.
---
 api/handlers.py |    4 +++-
 notes/models.py |    6 ++++++
 2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/api/handlers.py b/api/handlers.py
index 4db191f..48fcaf3 100644
--- a/api/handlers.py
+++ b/api/handlers.py
@@ -53,6 +53,7 @@ class UserHandler(AnonymousBaseHandler):
     @catch_and_return(ObjectDoesNotExist, rc.NOT_HERE)
     def read(self, request, username):
         user = User.objects.get(username=username)
+        profile = user.get_profile()
         reverse_args = {'username': username}
         return {
             'first-name': user.first_name,
@@ -61,7 +62,8 @@ class UserHandler(AnonymousBaseHandler):
                 'api-ref': reverse('note_api_index', kwargs=reverse_args),
                 'href': reverse('note_index', kwargs=reverse_args),
             },
-            'latest-sync-revision' : user.get_profile().latest_sync_rev,
+            'latest-sync-revision' : profile.latest_sync_rev,
+            'current-sync-guid' : profile.current_sync_uuid
             # TODO: friends
         }
 
diff --git a/notes/models.py b/notes/models.py
index dd005c7..12ef9c9 100644
--- a/notes/models.py
+++ b/notes/models.py
@@ -15,6 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+import uuid
+
 from django.db.models.signals import post_save, pre_save
 from django.contrib.auth.models import User
 from django.db import models
@@ -98,8 +100,12 @@ pre_save.connect(_update_is_notebook, sender=NoteTag,
 
 
 class UserProfile(models.Model):
+    def _create_uuid():
+        return str(uuid.uuid4())
+
     user = models.ForeignKey(User, unique=True)
     latest_sync_rev = models.IntegerField(default=-1)
+    current_sync_uuid = models.CharField(max_length=36, default=_create_uuid)
 
 def _create_profile(sender, instance, created, **kwargs):
     """



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]