aboutsummaryrefslogtreecommitdiff
path: root/wqflask
diff options
context:
space:
mode:
authorZachary Sloan2014-02-26 23:40:31 +0000
committerZachary Sloan2014-02-26 23:40:31 +0000
commitb1fd0e00050ef7ba95fd077fb78773265629fb1b (patch)
treef1e3bffccd956114e023cf03082abb59f6238853 /wqflask
parentf016dc75c7fed1e55e6e459bdf497f4149425137 (diff)
downloadgenenetwork2-b1fd0e00050ef7ba95fd077fb78773265629fb1b.tar.gz
Collection page now displays for temp/anon collections, but
still needs the option to remove traits from them
Diffstat (limited to 'wqflask')
-rw-r--r--wqflask/wqflask/collect.py38
-rw-r--r--wqflask/wqflask/user_manager.py5
-rw-r--r--wqflask/wqflask/views.py10
3 files changed, 38 insertions, 15 deletions
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py
index 77be68b2..5a68c7c9 100644
--- a/wqflask/wqflask/collect.py
+++ b/wqflask/wqflask/collect.py
@@ -74,19 +74,38 @@ def collections_new():
collection_name = params['new_collection']
if "create_new" in params:
+ print("in create_new")
return create_new(collection_name)
elif "add_to_existing" in params:
+ print("in add to existing")
return add_traits(params, collection_name)
else:
+ print("ELSE")
CauseAnError
def add_anon_traits(params):
# Todo: assert user isn't logged in
anon_id = user_manager.AnonUser().anon_id
+ print("anon_id is:", anon_id)
+
+ key = "anon_collection:v1:" + anon_id
+
+ len_before = len(Redis.smembers(key))
traits = process_traits(params['traits'])
- print("anon traits:", traits)
+ print("redis key is:", key)
+ Redis.expire(key, 60*60*72)
+ for trait in traits:
+ Redis.sadd(key, trait)
+ #print("set members:", Redis.smembers(key))
+
+ len_now = len(Redis.smembers(key))
+ new_length = len_now - len_before
+ print("new_length:", new_length)
+ #print("anon traits:", traits)
+
+ return redirect(url_for('view_collection', key=key))
def add_traits(params, collection_name):
print("---> params are:", params.keys())
@@ -211,9 +230,16 @@ def delete_collection():
def view_collection():
params = request.args
print("params in view collection:", params)
- uc_id = params['uc_id']
- uc = model.UserCollection.query.get(uc_id)
- traits = json.loads(uc.members)
+
+ if "uc_id" in params:
+ uc_id = params['uc_id']
+ uc = model.UserCollection.query.get(uc_id)
+ traits = json.loads(uc.members)
+ else:
+ anon_id = params['key']
+ uc = model.AnonCollection
+ traits = Redis.smembers(anon_id)
+ print("the traits are:", traits)
print("in view_collection traits are:", traits)
@@ -236,9 +262,9 @@ def view_collection():
# lrs_location=trait_ob.LRS_location_repr))
# dis=trait_ob.description))
#json_version.append(trait_ob.__dict__th)
-
+
collection_info = dict(trait_obs=trait_obs,
- uc = uc)
+ uc = uc)
if "json" in params:
print("json_version:", json_version)
return json.dumps(json_version)
diff --git a/wqflask/wqflask/user_manager.py b/wqflask/wqflask/user_manager.py
index 3d50cb4c..e4fb60e4 100644
--- a/wqflask/wqflask/user_manager.py
+++ b/wqflask/wqflask/user_manager.py
@@ -63,14 +63,15 @@ class AnonUser(object):
def __init__(self):
self.cookie = request.cookies.get(self.cookie_name)
if self.cookie:
- self.anon_id = verify_cookie(cookie)
+ print("already is cookie")
+ self.anon_id = verify_cookie(self.cookie)
else:
+ print("creating new cookie")
self.anon_id, self.cookie = create_signed_cookie()
@after.after_this_request
def set_cookie(response):
response.set_cookie(self.cookie_name, self.cookie)
-
def verify_cookie(cookie):
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py
index c3048ca4..d3a7d6ce 100644
--- a/wqflask/wqflask/views.py
+++ b/wqflask/wqflask/views.py
@@ -14,8 +14,9 @@ import simplejson as json
#import json
import yaml
-from redis import Redis
-Redis = Redis()
+#Switching from Redis to StrictRedis; might cause some issues
+import redis
+Redis = redis.StrictRedis()
import flask
import sqlalchemy
@@ -342,11 +343,6 @@ def get_temp_data():
temp_uuid = request.args['key']
return flask.jsonify(temp_data.TempData(temp_uuid).get_all())
-@app.after_request
-def call_after_request_callbacks(response):
- for callback in getattr(g, 'after_request_callbacks', ()):
- callback(response)
- return response
###################################################################################################