diff options
author | Mark Felder <feld@FreeBSD.org> | 2020-07-10 16:46:26 -0500 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2020-07-10 16:46:26 -0500 |
commit | 61675938811a8f2121c857f285d31bd4c7ef3336 (patch) | |
tree | d2f0561244a701c5c663e7aee41068e5d5244e28 /lib | |
parent | d6f67fa91b00b28d7be9f82bb300f9d650c73744 (diff) | |
download | pleroma-61675938811a8f2121c857f285d31bd4c7ef3336.tar.gz pleroma-61675938811a8f2121c857f285d31bd4c7ef3336.zip |
Support Exiftool for stripping EXIF data
We really only want to strip location data anyway, and mogrify strips color profiles.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/upload/filter/exiftool.ex | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/pleroma/upload/filter/exiftool.ex b/lib/pleroma/upload/filter/exiftool.ex new file mode 100644 index 000000000..833d8cab4 --- /dev/null +++ b/lib/pleroma/upload/filter/exiftool.ex @@ -0,0 +1,17 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Upload.Filter.Exiftool do + @behaviour Pleroma.Upload.Filter + + @type conversion :: action :: String.t() | {action :: String.t(), opts :: String.t()} + @type conversions :: conversion() | [conversion()] + + def filter(%Pleroma.Upload{tempfile: file, content_type: "image" <> _}) do + System.cmd("exiftool", ["-overwrite_original", "-gps:all=", file], parallelism: true) + :ok + end + + def filter(_), do: :ok +end |