]> git.lizzy.rs Git - cheatdb.git/commitdiff
Fix tag views redis cache
authorrubenwardy <rw@rubenwardy.com>
Thu, 16 Jul 2020 12:52:18 +0000 (13:52 +0100)
committerrubenwardy <rw@rubenwardy.com>
Thu, 16 Jul 2020 12:52:18 +0000 (13:52 +0100)
app/blueprints/packages/packages.py

index 8cb9b62df249cea49605f9d72244363a24eee61d..bacbbe1ffa9737f360ce62bd6c7190389effcd1f 100644 (file)
@@ -52,18 +52,20 @@ def list_all():
                        joinedload(Package.media_license), \
                        subqueryload(Package.tags))
 
-       edited = False
-       for tag in qb.tags:
-               edited = True
-               key = "tag-" + tag.name
-               if not has_key(key):
-                       set_key(key, "true")
-                       Tag.query.filter_by(id=tag.id).update({
-                                       "views": Tag.views + 1
-                               })
-
-       if edited:
-               db.session.commit()
+       ip = request.headers.get("X-Forwarded-For") or request.remote_addr
+       if ip is not None:
+               edited = False
+               for tag in qb.tags:
+                       edited = True
+                       key = "tag/{}/{}".format(ip, tag.name)
+                       if not has_key(key):
+                               set_key(key, "true")
+                               Tag.query.filter_by(id=tag.id).update({
+                                               "views": Tag.views + 1
+                                       })
+
+               if edited:
+                       db.session.commit()
 
        if qb.lucky:
                package = query.first()