feat: add image_orig_size

This commit is contained in:
mdashlw 2024-07-23 05:58:49 -07:00
parent 392d920657
commit 5a97388908
No known key found for this signature in database
GPG key ID: 0887AF18569DED32
8 changed files with 28 additions and 4 deletions

View file

@ -42,6 +42,7 @@ metadata: image_search_json
'processed', processed, 'processed', processed,
'score', score, 'score', score,
'size', image_size, 'size', image_size,
'orig_size', image_orig_size,
'sha512_hash', image_sha512_hash, 'sha512_hash', image_sha512_hash,
'thumbnails_generated', thumbnails_generated, 'thumbnails_generated', thumbnails_generated,
'updated_at', updated_at, 'updated_at', updated_at,

View file

@ -51,6 +51,7 @@ defmodule Philomena.Images.Image do
field :image_width, :integer field :image_width, :integer
field :image_height, :integer field :image_height, :integer
field :image_size, :integer field :image_size, :integer
field :image_orig_size, :integer
field :image_format, :string field :image_format, :string
field :image_mime_type, :string field :image_mime_type, :string
field :image_aspect_ratio, :float field :image_aspect_ratio, :float
@ -137,6 +138,7 @@ defmodule Philomena.Images.Image do
:image_width, :image_width,
:image_height, :image_height,
:image_size, :image_size,
:image_orig_size,
:image_format, :image_format,
:image_mime_type, :image_mime_type,
:image_aspect_ratio, :image_aspect_ratio,
@ -152,6 +154,7 @@ defmodule Philomena.Images.Image do
:image_width, :image_width,
:image_height, :image_height,
:image_size, :image_size,
:image_orig_size,
:image_format, :image_format,
:image_mime_type, :image_mime_type,
:image_aspect_ratio, :image_aspect_ratio,

View file

@ -84,7 +84,7 @@ defmodule Philomena.Images.Query do
defp anonymous_fields do defp anonymous_fields do
[ [
int_fields: int_fields:
~W(id width height score upvotes downvotes faves uploader_id faved_by_id pixels size comment_count source_count tag_count) ++ ~W(id width height score upvotes downvotes faves uploader_id faved_by_id pixels size orig_size comment_count source_count tag_count) ++
tag_count_fields(), tag_count_fields(),
float_fields: ~W(aspect_ratio wilson_score duration), float_fields: ~W(aspect_ratio wilson_score duration),
date_fields: ~W(created_at updated_at first_seen_at), date_fields: ~W(created_at updated_at first_seen_at),

View file

@ -54,6 +54,7 @@ defmodule Philomena.Images.SearchIndex do
processed: %{type: "boolean"}, processed: %{type: "boolean"},
score: %{type: "integer"}, score: %{type: "integer"},
size: %{type: "integer"}, size: %{type: "integer"},
orig_size: %{type: "integer"},
sha512_hash: %{type: "keyword"}, sha512_hash: %{type: "keyword"},
source_url: %{type: "keyword"}, source_url: %{type: "keyword"},
source_count: %{type: "integer"}, source_count: %{type: "integer"},
@ -117,6 +118,7 @@ defmodule Philomena.Images.SearchIndex do
height: image.image_height, height: image.image_height,
pixels: image.image_width * image.image_height, pixels: image.image_width * image.image_height,
size: image.image_size, size: image.image_size,
orig_size: image.image_orig_size,
animated: image.image_is_animated, animated: image.image_is_animated,
duration: if(image.image_is_animated, do: image.image_duration, else: 0), duration: if(image.image_is_animated, do: image.image_duration, else: 0),
tag_count: length(image.tags), tag_count: length(image.tags),

View file

@ -130,6 +130,7 @@ defmodule PhilomenaMedia.Uploader do
* `width` (integer) - the width of the file * `width` (integer) - the width of the file
* `height` (integer) - the height of the file * `height` (integer) - the height of the file
* `size` (integer) - the size of the file, in bytes * `size` (integer) - the size of the file, in bytes
* `orig_size` (integer) - the size of the file, in bytes
* `format` (String) - the file extension, one of `~w(gif jpg png svg webm)`, determined by reading the file * `format` (String) - the file extension, one of `~w(gif jpg png svg webm)`, determined by reading the file
* `mime_type` (String) - the file's sniffed MIME type, determined by reading the file * `mime_type` (String) - the file's sniffed MIME type, determined by reading the file
* `duration` (float) - the duration of the media file * `duration` (float) - the duration of the media file
@ -148,6 +149,7 @@ defmodule PhilomenaMedia.Uploader do
:foo_width, :foo_width,
:foo_height, :foo_height,
:foo_size, :foo_size,
:foo_orig_size,
:foo_format, :foo_format,
:foo_mime_type, :foo_mime_type,
:foo_duration, :foo_duration,
@ -221,6 +223,7 @@ defmodule PhilomenaMedia.Uploader do
"width" => analysis.width, "width" => analysis.width,
"height" => analysis.height, "height" => analysis.height,
"size" => analysis.size, "size" => analysis.size,
"orig_size" => analysis.size,
"format" => analysis.extension, "format" => analysis.extension,
"mime_type" => analysis.mime_type, "mime_type" => analysis.mime_type,
"duration" => analysis.duration, "duration" => analysis.duration,

View file

@ -60,6 +60,7 @@ defmodule PhilomenaWeb.Api.Json.ImageView do
height: image.image_height, height: image.image_height,
mime_type: image.image_mime_type, mime_type: image.image_mime_type,
size: image.image_size, size: image.image_size,
orig_size: image.image_orig_size,
duration: image.image_duration, duration: image.image_duration,
animated: image.image_is_animated, animated: image.image_is_animated,
format: image.image_format, format: image.image_format,

View file

@ -0,0 +1,9 @@
defmodule Philomena.Repo.Migrations.AddImagesOrigSize do
use Ecto.Migration
def change do
alter table("images") do
add :image_orig_size, :integer
end
end
end

View file

@ -2,8 +2,8 @@
-- PostgreSQL database dump -- PostgreSQL database dump
-- --
-- Dumped from database version 14.1 -- Dumped from database version 16.3
-- Dumped by pg_dump version 14.1 -- Dumped by pg_dump version 16.3
SET statement_timeout = 0; SET statement_timeout = 0;
SET lock_timeout = 0; SET lock_timeout = 0;
@ -953,7 +953,8 @@ CREATE TABLE public.images (
image_duration double precision, image_duration double precision,
description character varying DEFAULT ''::character varying NOT NULL, description character varying DEFAULT ''::character varying NOT NULL,
scratchpad character varying, scratchpad character varying,
approved boolean DEFAULT false approved boolean DEFAULT false,
image_orig_size integer
); );
@ -4996,6 +4997,9 @@ ALTER TABLE ONLY public.image_tag_locks
ALTER TABLE ONLY public.moderation_logs ALTER TABLE ONLY public.moderation_logs
ADD CONSTRAINT moderation_logs_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE; ADD CONSTRAINT moderation_logs_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;
--
-- Name: source_changes source_changes_image_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- Name: source_changes source_changes_image_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
-- --
@ -5051,3 +5055,4 @@ INSERT INTO public."schema_migrations" (version) VALUES (20211009011024);
INSERT INTO public."schema_migrations" (version) VALUES (20211107130226); INSERT INTO public."schema_migrations" (version) VALUES (20211107130226);
INSERT INTO public."schema_migrations" (version) VALUES (20211219194836); INSERT INTO public."schema_migrations" (version) VALUES (20211219194836);
INSERT INTO public."schema_migrations" (version) VALUES (20220321173359); INSERT INTO public."schema_migrations" (version) VALUES (20220321173359);
INSERT INTO public."schema_migrations" (version) VALUES (20240723122759);