diff options
Diffstat (limited to 'wqflask/wqflask/collect.py')
-rw-r--r-- | wqflask/wqflask/collect.py | 58 |
1 files changed, 13 insertions, 45 deletions
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py index 5484633b..81d03d6c 100644 --- a/wqflask/wqflask/collect.py +++ b/wqflask/wqflask/collect.py @@ -164,13 +164,20 @@ class UserCollection(object): if not uc: return create_new("Default") else: - uc = model.UserCollection.query.get(params['existing_collection']) - members = uc.members_as_set() #set(json.loads(uc.members)) + uc = model.UserCollection.query.get(params['existing_collection'].split(":")[0]) + members = list(uc.members_as_set()) #set(json.loads(uc.members)) len_before = len(members) traits = process_traits(params['traits']) - - members_now = list(members | traits) + + members_now = members + for trait in traits: + if trait in members: + continue + else: + members_now.append(trait) + + #members_now = list(members | traits) len_now = len(members_now) uc.members = json.dumps(members_now) @@ -184,28 +191,6 @@ class UserCollection(object): # Probably have to change that return redirect(url_for('view_collection', uc_id=uc.id)) - def remove_traits(self, params): - - #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() - - # 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)) def report_change(len_before, len_now): new_length = len_now - len_before @@ -218,8 +203,6 @@ def report_change(len_before, len_now): print("No new traits were added.") - - @app.route("/collections/add") def collections_add(): traits=request.args['traits'] @@ -235,7 +218,6 @@ def collections_add(): anon_collections = user_manager.AnonUser().get_collections() collection_names = [] for collection in anon_collections: - print("COLLECTION:", collection) collection_names.append({'id':collection['id'], 'name':collection['name']}) return render_template("collections/add.html", traits = traits, @@ -246,21 +228,17 @@ def collections_add(): @app.route("/collections/new") def collections_new(): params = request.args - #print("request.args in collections_new are:", params) - - collection_name = params['new_collection'] - if "anonymous_add" in params: - AnonCollection(name=collection_name).add_traits(params, "Default") - return redirect(url_for('view_collection')) if "sign_in" in params: return redirect(url_for('login')) if "create_new" in params: print("in create_new") + collection_name = params['new_collection'] return create_new(collection_name) elif "add_to_existing" in params: print("in add to existing") + collection_name = params['existing_collection'].split(":")[1] if g.user_session.logged_in: return UserCollection().add_traits(params, collection_name) else: @@ -268,7 +246,6 @@ def collections_new(): ac.add_traits(params) return redirect(url_for('view_collection', collection_id=ac.id)) else: - print("ELSE") CauseAnError @@ -305,7 +282,6 @@ def create_new(collection_name): ac = AnonCollection(collection_name) ac.changed_timestamp = datetime.datetime.utcnow().strftime('%b %d %Y %I:%M%p') ac.add_traits(params) - print("Collection ID:", ac.id) return redirect(url_for('view_collection', collection_id=ac.id)) @app.route("/collections/list") @@ -329,7 +305,6 @@ def list_collections(): @app.route("/collections/remove", methods=('POST',)) def remove_traits(): - params = request.form print("params are:", params) @@ -337,14 +312,11 @@ def remove_traits(): 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() @@ -388,7 +360,6 @@ def view_collection(): uc_id = params['uc_id'] uc = model.UserCollection.query.get(uc_id) traits = json.loads(uc.members) - print("traits are:", traits) else: user_collections = json.loads(Redis.get(user_manager.AnonUser().key)) this_collection = {} @@ -405,7 +376,6 @@ def view_collection(): json_version = [] for atrait in traits: - print("atrait is:", atrait) name, dataset_name = atrait.split(':') trait_ob = trait.GeneralTrait(name=name, dataset_name=dataset_name) @@ -414,8 +384,6 @@ def view_collection(): json_version.append(trait_ob.jsonable()) - print("trait_obs:", trait_obs) - if "uc_id" in params: collection_info = dict(trait_obs=trait_obs, uc = uc) |