From d9adb49c2712003cb7371198b133b3518e1c6b09 Mon Sep 17 00:00:00 2001 From: Alex Ling Date: Tue, 7 Sep 2021 10:45:59 +0000 Subject: [PATCH] Revert "Support all image types (resolves #192)" This reverts commit f67e4e6cb9994fd86cafe8b9d8c0541be3b894cb. --- src/library/entry.cr | 6 ++++-- src/library/types.cr | 2 ++ src/routes/api.cr | 5 +++-- src/util/util.cr | 4 ---- src/views/title.html.ecr | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/library/entry.cr b/src/library/entry.cr index 301c3ba..28b7122 100644 --- a/src/library/entry.cr +++ b/src/library/entry.cr @@ -40,7 +40,8 @@ class Entry file = ArchiveFile.new @zip_path @pages = file.entries.count do |e| - filename_is_image e.filename + SUPPORTED_IMG_TYPES.includes? \ + MIME.from_filename? e.filename end file.close end @@ -102,7 +103,8 @@ class Entry ArchiveFile.open @zip_path do |file| entries = file.entries .select { |e| - filename_is_image e.filename + SUPPORTED_IMG_TYPES.includes? \ + MIME.from_filename? e.filename } .sort! { |a, b| compare_numerically a.filename, b.filename diff --git a/src/library/types.cr b/src/library/types.cr index a91ca86..a4de007 100644 --- a/src/library/types.cr +++ b/src/library/types.cr @@ -1,3 +1,5 @@ +SUPPORTED_IMG_TYPES = ["image/jpeg", "image/png", "image/webp"] + enum SortMethod Auto Title diff --git a/src/routes/api.cr b/src/routes/api.cr index 80cb278..b1fb3b3 100644 --- a/src/routes/api.cr +++ b/src/routes/api.cr @@ -456,8 +456,9 @@ struct APIRouter entry_id = env.params.query["eid"]? title = Library.default.get_title(title_id).not_nil! - unless filename_is_image filename - raise "The uploaded file must be an image" + unless SUPPORTED_IMG_TYPES.includes? \ + MIME.from_filename? filename + raise "The uploaded image must be either JPEG or PNG" end ext = File.extname filename diff --git a/src/util/util.cr b/src/util/util.cr index 2db7457..c4e168a 100644 --- a/src/util/util.cr +++ b/src/util/util.cr @@ -120,7 +120,3 @@ class String match / s.size end end - -def filename_is_image(fn : String) : Bool - MIME.from_filename?(fn).try(&.starts_with?("image/")) || false -end diff --git a/src/views/title.html.ecr b/src/views/title.html.ecr index dc0dc3d..78edf98 100644 --- a/src/views/title.html.ecr +++ b/src/views/title.html.ecr @@ -101,7 +101,7 @@ Upload a cover image by dropping it here or
- + "> selecting one