aboutsummaryrefslogtreecommitdiff
path: root/wqflask/base/trait_collection.py
blob: d388a3af0ec1f0d663115d0bb1c05fadf8609a56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
class TraitCollection(object):
    
    def __init__(self, is_anon=False):
        self.is_anon = is_anon
        
        
    @app.route("/collections/remove", methods=('POST',))
    def remove_traits():
        if is_anon:
            AnonCollection.remove_traits()
        else:
            UserCollection.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()
    
        # 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 __init__(self, anon_id)
        self.anon_key = anon_key
        self.collection_members = Redis.smembers(self.anon_id)
        print("self.collection_members is:", self.collection_members)
        self.num_members = len(self.collection_members)
        

    @app.route("/collections/remove", methods=('POST',))
    def remove_traits(traits_to_remove):
        print("traits_to_remove:", traits_to_remove)
        for trait in traits_to_remove:
            Redis.srem(self.anon_id, trait)
        members_now = self.collection_members - traits_to_remove
        print("members_now:", members_now)
        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))