From 5a655b72cc8cdcc705d6d70064a82960988b1ecb Mon Sep 17 00:00:00 2001 From: Greg Thole Date: Sun, 21 Jan 2018 19:50:45 -0500 Subject: [PATCH] Move preview check onto storages --- gedgo/storages.py | 18 ++++++++++++++++++ gedgo/views/research.py | 10 +--------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/gedgo/storages.py b/gedgo/storages.py index dc15f8c..38903fa 100644 --- a/gedgo/storages.py +++ b/gedgo/storages.py @@ -71,6 +71,16 @@ def preview(self, name, size='w128h128'): )[1].content) return resize_thumb(file_, size) + def can_preview(self, name): + return ( + '.' in name and + name.rsplit('.', 1)[1].lower() in ( + 'jpeg', 'jpg', 'gif', 'png', 'pdf', 'tif', 'tiff', + 'mov', 'avi', 'doc', 'mpg', 'bmp', 'psd' + ) + ) + + class FileSystemSearchableStorage(FileSystemStorage): def search(self, query): @@ -86,6 +96,14 @@ def search(self, query): def preview(self, name, size='w128h128'): return resize_thumb(self.open(name), size) + def can_preview(self, name): + return ( + '.' in name and + name.rsplit('.', 1)[1].lower() in ( + 'jpeg', 'jpg' + ) + ) + def resize_thumb(file_, size='w128h128', crop=None): im = Image.open(file_) diff --git a/gedgo/views/research.py b/gedgo/views/research.py index b1369d9..d23b937 100644 --- a/gedgo/views/research.py +++ b/gedgo/views/research.py @@ -123,16 +123,8 @@ def can_preview(storage, name): """ Check if the file in question can generate a preview """ - # TODO: Move suffix check onto storage child classes, since filesystem - # won't support previewing lots of these other types return ( hasattr(storage, 'preview') and is_ascii(name) and - ( - '.' in name and - name.rsplit('.', 1)[1].lower() in ( - 'jpeg', 'jpg', 'gif', 'png', 'pdf', - 'mov', 'avi', 'doc', 'mpg', 'bmp' - ) - ) + storage.can_preview(name) )