aboutsummaryrefslogtreecommitdiff
path: root/wqflask/wqflask/collect.py
diff options
context:
space:
mode:
Diffstat (limited to 'wqflask/wqflask/collect.py')
-rwxr-xr-xwqflask/wqflask/collect.py69
1 files changed, 41 insertions, 28 deletions
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py
index 28d774c0..1105543c 100755
--- a/wqflask/wqflask/collect.py
+++ b/wqflask/wqflask/collect.py
@@ -56,7 +56,7 @@ class AnonCollection(object):
"""User is not logged in"""
def __init__(self):
self.anon_user = user_manager.AnonUser()
- self.key = "anon_collection:v4:{}".format(self.anon_user.anon_id)
+ self.key = "anon_collection:v5:{}".format(self.anon_user.anon_id)
def add_traits(self, params, collection_name):
assert collection_name == "Default", "Unexpected collection name for anonymous user"
@@ -73,15 +73,15 @@ class AnonCollection(object):
def remove_traits(self, params):
traits_to_remove = params.getlist('traits[]')
- print("traits_to_remove:", traits_to_remove)
+ print("traits_to_remove:", process_traits(traits_to_remove))
len_before = len(Redis.smembers(self.key))
Redis.srem(self.key, traits_to_remove)
+ print("currently in redis:", Redis.smembers(self.key))
len_now = len(Redis.smembers(self.key))
- print("Went from {} to {} members in set.".format(len(self.collection_members), len(members_now)))
# We need to return something so we'll return this...maybe in the future
# we can use it to check the results
- return str(len(members_now))
+ return str(len_now)
def get_traits(self):
traits = Redis.smembers(self.key)
@@ -232,12 +232,17 @@ def create_new(collection_name):
@app.route("/collections/list")
def list_collections():
params = request.args
- user_collections = list(g.user_session.user_ob.user_collections)
- print("user_collections are:", user_collections)
- return render_template("collections/list.html",
- params = params,
- user_collections = user_collections,
- )
+ try:
+ user_collections = list(g.user_session.user_ob.user_collections)
+ print("user_collections are:", user_collections)
+ return render_template("collections/list.html",
+ params = params,
+ user_collections = user_collections,
+ )
+ except:
+ return redirect(url_for('view_collection'))
+ #return render_template("collections/view_anonymous.html",
+ # params = params)
@app.route("/collections/remove", methods=('POST',))
@@ -245,20 +250,25 @@ def remove_traits():
params = request.form
print("params are:", params)
- uc_id = params['uc_id']
- uc = model.UserCollection.query.get(uc_id)
- traits_to_remove = params.getlist('traits[]')
- print("traits_to_remove are:", traits_to_remove)
- traits_to_remove = process_traits(traits_to_remove)
- print("\n\n after processing, traits_to_remove:", traits_to_remove)
- all_traits = uc.members_as_set()
- print(" all_traits:", all_traits)
- members_now = all_traits - traits_to_remove
- print(" members_now:", members_now)
- print("Went from {} to {} members in set.".format(len(all_traits), len(members_now)))
- uc.members = json.dumps(list(members_now))
- uc.changed_timestamp = datetime.datetime.utcnow()
- db_session.commit()
+
+ if "uc_id" in params:
+ uc_id = params['uc_id']
+ uc = model.UserCollection.query.get(uc_id)
+ traits_to_remove = params.getlist('traits[]')
+ print("traits_to_remove are:", traits_to_remove)
+ traits_to_remove = process_traits(traits_to_remove)
+ print("\n\n after processing, traits_to_remove:", traits_to_remove)
+ all_traits = uc.members_as_set()
+ print(" all_traits:", all_traits)
+ members_now = all_traits - traits_to_remove
+ print(" members_now:", members_now)
+ print("Went from {} to {} members in set.".format(len(all_traits), len(members_now)))
+ uc.members = json.dumps(list(members_now))
+ uc.changed_timestamp = datetime.datetime.utcnow()
+ db_session.commit()
+ else:
+ members_now = AnonCollection().remove_traits(params)
+
# We need to return something so we'll return this...maybe in the future
# we can use it to check the results
@@ -281,10 +291,11 @@ def delete_collection():
return redirect(url_for('list_collections'))
+
@app.route("/collections/view")
def view_collection():
params = request.args
- print("params in view collection:", params)
+ print("PARAMS in view collection:", params)
if "uc_id" in params:
uc_id = params['uc_id']
@@ -316,10 +327,12 @@ 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,
+
+ if "uc_id" in params:
+ collection_info = dict(trait_obs=trait_obs,
uc = uc)
- #collection_info = dict(trait_obs=trait_obs)
+ else:
+ collection_info = dict(trait_obs=trait_obs)
if "json" in params:
print("json_version:", json_version)
return json.dumps(json_version)