summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.pre-commit-config.yaml2
-rwxr-xr-xserver/szuru-admin17
2 files changed, 18 insertions, 1 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index c2e4d53..7b550ca 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -15,7 +15,7 @@ repos:
- id: remove-tabs
- repo: https://github.com/psf/black
- rev: 21.11b1
+ rev: '22.3.0'
hooks:
- id: black
files: 'server/'
diff --git a/server/szuru-admin b/server/szuru-admin
index 004a751..08ba182 100755
--- a/server/szuru-admin
+++ b/server/szuru-admin
@@ -91,6 +91,15 @@ def reset_filenames() -> None:
rename_in_dir("posts/custom-thumbnails/")
+def regenerate_thumbnails() -> None:
+ for post in db.session.query(model.Post).all():
+ print("Generating tumbnail for post %d ..." % post.post_id, end="\r")
+ try:
+ postfuncs.generate_post_thumbnail(post)
+ except Exception:
+ pass
+
+
def main() -> None:
parser_top = ArgumentParser(
description="Collection of CLI commands for an administrator to use",
@@ -114,6 +123,12 @@ def main() -> None:
help="reset and rename the content and thumbnail "
"filenames in case of a lost/changed secret key",
)
+ parser.add_argument(
+ "--regenerate-thumbnails",
+ action="store_true",
+ help="regenerate the thumbnails for posts if the "
+ "thumbnail files are missing",
+ )
command = parser_top.parse_args()
try:
@@ -123,6 +138,8 @@ def main() -> None:
check_audio()
elif command.reset_filenames:
reset_filenames()
+ elif command.regenerate_thumbnails:
+ regenerate_thumbnails()
except errors.BaseError as e:
print(e, file=stderr)