From 1280588283d3d2e567edf89c1f19ef6a53ae7e29 Mon Sep 17 00:00:00 2001 From: Aevann Date: Thu, 3 Aug 2023 06:29:01 +0300 Subject: [PATCH] add emojis_original_zip --- .gitignore | 1 + files/helpers/cron.py | 18 ++++++++++++++++++ files/routes/static.py | 6 +++++- files/templates/megathread_index.html | 6 ++++++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 80235dab4c..8c97075bb4 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ __pycache__/ .vscode/ .DS_Store emojis.zip +emojis_original.zip diff --git a/files/helpers/cron.py b/files/helpers/cron.py index 1385cebf96..45ea3968cb 100644 --- a/files/helpers/cron.py +++ b/files/helpers/cron.py @@ -48,6 +48,9 @@ def cron_fn(every_5m, every_1d): _generate_emojis_zip() + if FEATURES['ASSET_SUBMISSIONS']: + _generate_emojis_original_zip() + _leaderboard_task() _sub_inactive_purge_task() @@ -142,6 +145,21 @@ def _generate_emojis_zip(): size = str(int(os.stat('files/assets/emojis.zip').st_size/1024/1024)) + ' MB' cache.set('emojis_size', size, timeout=CRON_CACHE_TIMEOUT) +def _generate_emojis_original_zip(): + make_archive('files/assets/emojis_original', 'zip', '/asset_submissions/emojis/original') + + m = md5() + with open('files/assets/emojis_original.zip', "rb") as f: + data = f.read() + + m.update(data) + cache.set('emojis_original_hash', m.hexdigest(), timeout=CRON_CACHE_TIMEOUT) + + count = str(len(os.listdir('/asset_submissions/emojis/original'))) + cache.set('emojis_original_count', count, timeout=CRON_CACHE_TIMEOUT) + + size = str(int(os.stat('files/assets/emojis_original.zip').st_size/1024)) + ' GB' + cache.set('emojis_original_size', size, timeout=CRON_CACHE_TIMEOUT) def _leaderboard_task(): votes1 = g.db.query(Vote.user_id, func.count(Vote.user_id)).filter(Vote.vote_type==1).group_by(Vote.user_id).order_by(func.count(Vote.user_id).desc()).all() diff --git a/files/routes/static.py b/files/routes/static.py index d941abfbcd..a61b03ffc2 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -242,7 +242,11 @@ def static_megathread_index(v): emojis_count = cache.get('emojis_count') or '' emojis_size = cache.get('emojis_size') or '' - return render_template("megathread_index.html", v=v, emojis_hash=emojis_hash, emojis_count=emojis_count, emojis_size=emojis_size) + emojis_original_hash = cache.get('emojis_original_hash') or '' + emojis_original_count = cache.get('emojis_original_count') or '' + emojis_original_size = cache.get('emojis_original_size') or '' + + return render_template("megathread_index.html", v=v, emojis_hash=emojis_hash, emojis_count=emojis_count, emojis_size=emojis_size, emojis_original_hash=emojis_original_hash, emojis_original_count=emojis_original_count, emojis_original_size=emojis_original_size) @app.get("/api") @limiter.limit(DEFAULT_RATELIMIT, deduct_when=lambda response: response.status_code < 400) diff --git a/files/templates/megathread_index.html b/files/templates/megathread_index.html index 3bc9315c1a..f52c89b79e 100644 --- a/files/templates/megathread_index.html +++ b/files/templates/megathread_index.html @@ -13,6 +13,12 @@ 'fa-down', '#38a169', '/assets/emojis.zip?v=' + emojis_hash, ), + ( + 'Download All Emojis (Original Files)', + 'Download a zip file containing the original files of all emojis.
' ~ emojis_original_count ~ ' emojis - ' ~ emojis_original_size, + 'fa-down', '#38a169', + 'https://rdrama.net/assets/emojis_original.zip?v=' + emojis_original_hash, + ), ( 'Bugs / Suggestions', 'Something broken? Improvements?',