From a54995eb9d77863bf93d1ac01c05ee4fd822d6e1 Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 8 Jan 2022 17:41:44 +0100 Subject: [PATCH] Add new complete strategy --- bookwyrm/settings.py | 2 +- bookwyrm/thumbnail_generation.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 bookwyrm/thumbnail_generation.py diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 0fe212321..4d38e0827 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -191,7 +191,7 @@ USER_AGENT = f"{agent} (BookWyrm/{VERSION}; +https://{DOMAIN}/)" ENABLE_THUMBNAIL_GENERATION = env.bool("ENABLE_THUMBNAIL_GENERATION", False) IMAGEKIT_CACHEFILE_DIR = "thumbnails" #IMAGEKIT_DEFAULT_CACHEFILE_BACKEND = "imagekit.cachefiles.backends.Celery" -IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY = "imagekit.cachefiles.strategies.Optimistic" +IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY = "bookwyrm.thumbnail_generation.Strategy" # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/3.2/howto/static-files/ diff --git a/bookwyrm/thumbnail_generation.py b/bookwyrm/thumbnail_generation.py new file mode 100644 index 000000000..fb9b9c386 --- /dev/null +++ b/bookwyrm/thumbnail_generation.py @@ -0,0 +1,14 @@ +class Strategy: + """ + A strategy that generates the image on source saved (Optimistic), + but also on demand, for old images (JustInTime). + """ + + def on_source_saved(self, file): + file.generate() + + def on_existence_required(self, file): + file.generate() + + def on_content_required(self, file): + file.generate()