From 016f26323ae70a2710b97ac25eab82d8555ce7a2 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:30:14 +0200 Subject: [PATCH 01/14] fsdsdf --- files/routes/static.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/files/routes/static.py b/files/routes/static.py index e51fcba0a..dddf6028d 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -74,14 +74,13 @@ def participation_stats(v): @app.get("/chart") @auth_required def chart(v): - file = cached_chart() + days = request.values.get("days", 0) + file = cached_chart(days) return send_file(file) -@cache.memoize(timeout=86400) -def cached_chart(): - days = int(request.values.get("days", 25)) - +# @cache.memoize(timeout=86400) +def cached_chart(days): now = time.gmtime() midnight_this_morning = time.struct_time((now.tm_year, now.tm_mon, @@ -95,9 +94,15 @@ def cached_chart(): ) today_cutoff = calendar.timegm(midnight_this_morning) - day = 3600 * 200 + if not days: + firstsignup = g.db.query(User.created_utc).order_by(User.created_utc).first()[0] + nowstamp = int(time.time()) + days = int(nowstamp - firstsignup / 86400) + print(days) - day_cutoffs = [today_cutoff - day * i for i in range(days)] + day = 3600 * days + + day_cutoffs = [today_cutoff - day * i for i in range(30)] day_cutoffs.insert(0, calendar.timegm(now)) daily_times = [time.strftime("%d/%m", time.gmtime(day_cutoffs[i + 1])) for i in range(len(day_cutoffs) - 1)][2:][::-1] From 4b9da97aa18f469b63b3b5e67e6c37a0f9404e8c Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:31:16 +0200 Subject: [PATCH 02/14] sfd --- files/assets/images/badges/Agendaposter.webp | Bin 3236 -> 0 bytes files/assets/images/badges/Provider.webp | Bin 16012 -> 0 bytes files/assets/images/badges/agendaposter.webp | Bin 3236 -> 0 bytes files/assets/images/badges/provider.webp | Bin 16012 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 files/assets/images/badges/Agendaposter.webp delete mode 100644 files/assets/images/badges/Provider.webp delete mode 100644 files/assets/images/badges/agendaposter.webp delete mode 100644 files/assets/images/badges/provider.webp diff --git a/files/assets/images/badges/Agendaposter.webp b/files/assets/images/badges/Agendaposter.webp deleted file mode 100644 index a0ced368e30122eefe4c87d7915e546e7941ccdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3236 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 G0000>b8sL4 diff --git a/files/assets/images/badges/agendaposter.webp b/files/assets/images/badges/agendaposter.webp deleted file mode 100644 index a0ced368e30122eefe4c87d7915e546e7941ccdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3236 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 G0000>b8sL4 From a586f5d47dffcc32efa325962a14c92ae9c1158f Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:32:27 +0200 Subject: [PATCH 03/14] sfdsdf --- .../badges/Agendaposter.webp} | Bin .../provider.webp => images/badges/Provider.webp} | Bin 2 files changed, 0 insertions(+), 0 deletions(-) rename files/assets/{CHRISTMAS/images/badges/agendaposter.webp => images/badges/Agendaposter.webp} (100%) rename files/assets/{CHRISTMAS/images/badges/provider.webp => images/badges/Provider.webp} (100%) diff --git a/files/assets/CHRISTMAS/images/badges/agendaposter.webp b/files/assets/images/badges/Agendaposter.webp similarity index 100% rename from files/assets/CHRISTMAS/images/badges/agendaposter.webp rename to files/assets/images/badges/Agendaposter.webp diff --git a/files/assets/CHRISTMAS/images/badges/provider.webp b/files/assets/images/badges/Provider.webp similarity index 100% rename from files/assets/CHRISTMAS/images/badges/provider.webp rename to files/assets/images/badges/Provider.webp From a7a65a9b9fd8f78e20900d32ecb5f7181f3f795d Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:37:07 +0200 Subject: [PATCH 04/14] fsdfsd --- files/routes/static.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/files/routes/static.py b/files/routes/static.py index dddf6028d..0553acd14 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -96,7 +96,9 @@ def cached_chart(days): if not days: firstsignup = g.db.query(User.created_utc).order_by(User.created_utc).first()[0] + print(firstsignup) nowstamp = int(time.time()) + print(nowstamp - firstsignup) days = int(nowstamp - firstsignup / 86400) print(days) From c1db8afb68696e935e499c3fec5605128c3418ca Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:38:07 +0200 Subject: [PATCH 05/14] fdsfsd --- files/routes/static.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/routes/static.py b/files/routes/static.py index 0553acd14..89f9d8368 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -95,7 +95,7 @@ def cached_chart(days): today_cutoff = calendar.timegm(midnight_this_morning) if not days: - firstsignup = g.db.query(User.created_utc).order_by(User.created_utc).first()[0] + firstsignup = g.db.query(User.created_utc).filter(User.created_utc != None).order_by(User.created_utc).first()[0] print(firstsignup) nowstamp = int(time.time()) print(nowstamp - firstsignup) From c7d2936eb966ddd8b3931d890080e0d6a3f3929d Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:38:27 +0200 Subject: [PATCH 06/14] fsdfsd --- files/routes/static.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/routes/static.py b/files/routes/static.py index 89f9d8368..ace9d0d5c 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -95,7 +95,7 @@ def cached_chart(days): today_cutoff = calendar.timegm(midnight_this_morning) if not days: - firstsignup = g.db.query(User.created_utc).filter(User.created_utc != None).order_by(User.created_utc).first()[0] + firstsignup = g.db.query(User.created_utc).filter(User.created_utc != 0).order_by(User.created_utc).first()[0] print(firstsignup) nowstamp = int(time.time()) print(nowstamp - firstsignup) From 78077d712dbc98c6166c88d2a23dc60ed33b8f7e Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:39:40 +0200 Subject: [PATCH 07/14] fdsfds --- files/routes/static.py | 1 - 1 file changed, 1 deletion(-) diff --git a/files/routes/static.py b/files/routes/static.py index ace9d0d5c..18b7b1922 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -98,7 +98,6 @@ def cached_chart(days): firstsignup = g.db.query(User.created_utc).filter(User.created_utc != 0).order_by(User.created_utc).first()[0] print(firstsignup) nowstamp = int(time.time()) - print(nowstamp - firstsignup) days = int(nowstamp - firstsignup / 86400) print(days) From f58ac5dae18a702f9bcb15955506b0dcb1bc417c Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:41:17 +0200 Subject: [PATCH 08/14] fdsfsd --- files/routes/static.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/routes/static.py b/files/routes/static.py index 18b7b1922..8048c710f 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -98,7 +98,7 @@ def cached_chart(days): firstsignup = g.db.query(User.created_utc).filter(User.created_utc != 0).order_by(User.created_utc).first()[0] print(firstsignup) nowstamp = int(time.time()) - days = int(nowstamp - firstsignup / 86400) + days = int((nowstamp - firstsignup) / 86400) print(days) day = 3600 * days From 1245ac86b3455940821e16a7de8ea6c1d7a57ad8 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:41:23 +0200 Subject: [PATCH 09/14] fsdfsd --- files/routes/static.py | 1 - 1 file changed, 1 deletion(-) diff --git a/files/routes/static.py b/files/routes/static.py index 8048c710f..2c58df284 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -99,7 +99,6 @@ def cached_chart(days): print(firstsignup) nowstamp = int(time.time()) days = int((nowstamp - firstsignup) / 86400) - print(days) day = 3600 * days From 4b42e23c4bba04dfda9b723c70d48fc12363f1a5 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:42:05 +0200 Subject: [PATCH 10/14] sfdsdf --- files/routes/static.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/files/routes/static.py b/files/routes/static.py index 2c58df284..4ac3befdb 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -74,7 +74,8 @@ def participation_stats(v): @app.get("/chart") @auth_required def chart(v): - days = request.values.get("days", 0) + try: days = int(request.values.get("days", 0)) + except: days = 0 file = cached_chart(days) return send_file(file) From 5792df0470050fce77c41e7ea958e3920d43ca02 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:42:32 +0200 Subject: [PATCH 11/14] fdsfsd --- files/routes/static.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/routes/static.py b/files/routes/static.py index 4ac3befdb..cafe61d17 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -80,7 +80,7 @@ def chart(v): return send_file(file) -# @cache.memoize(timeout=86400) +@cache.memoize(timeout=86400) def cached_chart(days): now = time.gmtime() midnight_this_morning = time.struct_time((now.tm_year, From b63b022a3f4df610b888230790ab152006a4b34c Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:43:30 +0200 Subject: [PATCH 12/14] sfdfds --- files/routes/static.py | 1 - 1 file changed, 1 deletion(-) diff --git a/files/routes/static.py b/files/routes/static.py index cafe61d17..24f878784 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -97,7 +97,6 @@ def cached_chart(days): if not days: firstsignup = g.db.query(User.created_utc).filter(User.created_utc != 0).order_by(User.created_utc).first()[0] - print(firstsignup) nowstamp = int(time.time()) days = int((nowstamp - firstsignup) / 86400) From e0c4b669469b68a13d82b86d4cb7ececb59cfa05 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:46:32 +0200 Subject: [PATCH 13/14] fdsfds --- files/routes/static.py | 1 + 1 file changed, 1 insertion(+) diff --git a/files/routes/static.py b/files/routes/static.py index 24f878784..cafe61d17 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -97,6 +97,7 @@ def cached_chart(days): if not days: firstsignup = g.db.query(User.created_utc).filter(User.created_utc != 0).order_by(User.created_utc).first()[0] + print(firstsignup) nowstamp = int(time.time()) days = int((nowstamp - firstsignup) / 86400) From 53a2d76ff5ddfa7d40cd7eeef2fa9ea713600fd7 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Wed, 15 Dec 2021 23:47:58 +0200 Subject: [PATCH 14/14] fdsfds --- files/routes/static.py | 1 + 1 file changed, 1 insertion(+) diff --git a/files/routes/static.py b/files/routes/static.py index cafe61d17..730e22f64 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -100,6 +100,7 @@ def cached_chart(days): print(firstsignup) nowstamp = int(time.time()) days = int((nowstamp - firstsignup) / 86400) + print(days) day = 3600 * days