From dd6e828ca3b205fefcae833aec53139961f9575f Mon Sep 17 00:00:00 2001
From: Zachary Sloan
Date: Thu, 27 Feb 2014 00:01:11 +0000
Subject: Began working on a TraitCollection.py file that will contain both the
 object for logged in user collections and collections created by anonymous
 users.

---
 wqflask/base/trait_collection.py | 27 +++++++++++++++++++++++++++
 wqflask/utility/after.py         | 22 ++++++++++++++++++++++
 wqflask/wqflask/collect.py       |  2 +-
 wqflask/wqflask/model.py         |  6 ++++++
 4 files changed, 56 insertions(+), 1 deletion(-)
 create mode 100644 wqflask/base/trait_collection.py
 create mode 100644 wqflask/utility/after.py

(limited to 'wqflask')

diff --git a/wqflask/base/trait_collection.py b/wqflask/base/trait_collection.py
new file mode 100644
index 00000000..797a4d63
--- /dev/null
+++ b/wqflask/base/trait_collection.py
@@ -0,0 +1,27 @@
+#The TraitCollection class with encompass the UserCollection (collections
+#created by registered and logged in users) and AnonCollection (collections created by users who
+#aren't logged in) class. The former will represent and act on a database table while the latter
+#will store its trait information in Redis
+
+
+from __future__ import print_function, division, absolute_import
+
+import uuid
+import datetime
+
+import simplejson as json
+
+from flask import request
+from flask.ext.sqlalchemy import SQLAlchemy
+
+from wqflask import app
+
+import sqlalchemy
+
+from sqlalchemy import (Column, Integer, String, Table, ForeignKey, Unicode, Boolean, DateTime,
+                        Text, Index)
+from sqlalchemy.orm import relationship, backref
+
+from wqflask.database import Base, init_db
+
+class TraitCollection(object):
diff --git a/wqflask/utility/after.py b/wqflask/utility/after.py
new file mode 100644
index 00000000..a3bb85e9
--- /dev/null
+++ b/wqflask/utility/after.py
@@ -0,0 +1,22 @@
+from __future__ import print_function, division, absolute_import
+
+"""
+See: http://flask.pocoo.org/docs/patterns/deferredcallbacks/#deferred-callbacks
+
+"""
+
+from flask import g
+
+from wqflask import app
+
+def after_this_request(f):
+    if not hasattr(g, 'after_request_callbacks'):
+        g.after_request_callbacks = []
+    g.after_request_callbacks.append(f)
+    return f
+
+@app.after_request
+def call_after_request_callbacks(response):
+    for callback in getattr(g, 'after_request_callbacks', ()):
+        callback(response)
+    return response
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py
index 5a68c7c9..daa3b2af 100644
--- a/wqflask/wqflask/collect.py
+++ b/wqflask/wqflask/collect.py
@@ -237,7 +237,7 @@ def view_collection():
         traits = json.loads(uc.members)
     else:
         anon_id = params['key']
-        uc = model.AnonCollection
+        uc = model.AnonCollection(anon_id = anon_id)
         traits = Redis.smembers(anon_id)
         print("the traits are:", traits)
 
diff --git a/wqflask/wqflask/model.py b/wqflask/wqflask/model.py
index 71bda550..fa8c1aab 100644
--- a/wqflask/wqflask/model.py
+++ b/wqflask/wqflask/model.py
@@ -189,3 +189,9 @@ def display_collapsible(number):
         return number
     else:
         return ""
+
+
+def user_uuid():
+    """Unique cookie for a user"""
+    user_uuid = request.cookies.get('user_uuid')
+    
\ No newline at end of file
-- 
cgit v1.2.3