Add deprecation warnings
This commit is contained in:
parent
8303af84ce
commit
d0d48a9e88
2 changed files with 95 additions and 1 deletions
|
@ -20,6 +20,43 @@ defmodule Pleroma.Config.DeprecationWarnings do
|
||||||
"\n* `config :pleroma, :instance, mrf_transparency_exclusions` is now `config :pleroma, :mrf, transparency_exclusions`"}
|
"\n* `config :pleroma, :instance, mrf_transparency_exclusions` is now `config :pleroma, :mrf, transparency_exclusions`"}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def check_exiftool_filter do
|
||||||
|
filters = Config.get([Pleroma.Upload])[:filters]
|
||||||
|
|
||||||
|
if Pleroma.Upload.Filter.Exiftool in filters do
|
||||||
|
Logger.warn("""
|
||||||
|
!!!DEPRECATION WARNING!!!
|
||||||
|
Your config is using Exiftool as a filter instead of Exiftool.StripLocation. This should work for now, but you are advised to change to the new configuration to prevent possible issues later:
|
||||||
|
|
||||||
|
```
|
||||||
|
config :pleroma, Pleroma.Upload,
|
||||||
|
filters: [Pleroma.Upload.Filter.Exiftool]
|
||||||
|
```
|
||||||
|
|
||||||
|
Is now
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
config :pleroma, Pleroma.Upload,
|
||||||
|
filters: [Pleroma.Upload.Filter.Exiftool.StripLocation]
|
||||||
|
```
|
||||||
|
""")
|
||||||
|
|
||||||
|
new_config =
|
||||||
|
filters
|
||||||
|
|> Enum.map(fn
|
||||||
|
Pleroma.Upload.Filter.Exiftool -> Pleroma.Upload.Filter.Exiftool.StripLocation
|
||||||
|
filter -> filter
|
||||||
|
end)
|
||||||
|
|
||||||
|
Config.put([Pleroma.Upload, :filters], new_config)
|
||||||
|
|
||||||
|
:error
|
||||||
|
else
|
||||||
|
:ok
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def check_simple_policy_tuples do
|
def check_simple_policy_tuples do
|
||||||
has_strings =
|
has_strings =
|
||||||
Config.get([:mrf_simple])
|
Config.get([:mrf_simple])
|
||||||
|
@ -180,7 +217,8 @@ defmodule Pleroma.Config.DeprecationWarnings do
|
||||||
check_old_chat_shoutbox(),
|
check_old_chat_shoutbox(),
|
||||||
check_quarantined_instances_tuples(),
|
check_quarantined_instances_tuples(),
|
||||||
check_transparency_exclusions_tuples(),
|
check_transparency_exclusions_tuples(),
|
||||||
check_simple_policy_tuples()
|
check_simple_policy_tuples(),
|
||||||
|
check_exiftool_filter()
|
||||||
]
|
]
|
||||||
|> Enum.reduce(:ok, fn
|
|> Enum.reduce(:ok, fn
|
||||||
:ok, :ok -> :ok
|
:ok, :ok -> :ok
|
||||||
|
|
|
@ -11,6 +11,62 @@ defmodule Pleroma.Config.DeprecationWarningsTest do
|
||||||
alias Pleroma.Config
|
alias Pleroma.Config
|
||||||
alias Pleroma.Config.DeprecationWarnings
|
alias Pleroma.Config.DeprecationWarnings
|
||||||
|
|
||||||
|
describe "filter exiftool" do
|
||||||
|
test "gives warning when still used" do
|
||||||
|
clear_config(
|
||||||
|
[Pleroma.Upload, :filters],
|
||||||
|
[Pleroma.Upload.Filter.Exiftool]
|
||||||
|
)
|
||||||
|
|
||||||
|
assert capture_log(fn -> DeprecationWarnings.check_exiftool_filter() end) =~
|
||||||
|
"""
|
||||||
|
!!!DEPRECATION WARNING!!!
|
||||||
|
Your config is using Exiftool as a filter instead of Exiftool.StripLocation. This should work for now, but you are advised to change to the new configuration to prevent possible issues later:
|
||||||
|
|
||||||
|
```
|
||||||
|
config :pleroma, Pleroma.Upload,
|
||||||
|
filters: [Pleroma.Upload.Filter.Exiftool]
|
||||||
|
```
|
||||||
|
|
||||||
|
Is now
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
config :pleroma, Pleroma.Upload,
|
||||||
|
filters: [Pleroma.Upload.Filter.Exiftool.StripLocation]
|
||||||
|
```
|
||||||
|
"""
|
||||||
|
end
|
||||||
|
|
||||||
|
test "changes setting to exiftool strip location" do
|
||||||
|
clear_config(
|
||||||
|
[Pleroma.Upload, :filters],
|
||||||
|
[Pleroma.Upload.Filter.Exiftool, Pleroma.Upload.Filter.Exiftool.ReadDescription]
|
||||||
|
)
|
||||||
|
|
||||||
|
expected_config = [
|
||||||
|
Pleroma.Upload.Filter.Exiftool.StripLocation,
|
||||||
|
Pleroma.Upload.Filter.Exiftool.ReadDescription
|
||||||
|
]
|
||||||
|
|
||||||
|
capture_log(fn -> DeprecationWarnings.warn() end)
|
||||||
|
|
||||||
|
assert Config.get([Pleroma.Upload])[:filters] == expected_config
|
||||||
|
end
|
||||||
|
|
||||||
|
test "doesn't give a warning with correct config" do
|
||||||
|
clear_config(
|
||||||
|
[Pleroma.Upload, :filters],
|
||||||
|
[
|
||||||
|
Pleroma.Upload.Filter.Exiftool.StripLocation,
|
||||||
|
Pleroma.Upload.Filter.Exiftool.ReadDescription
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
assert capture_log(fn -> DeprecationWarnings.check_exiftool_filter() end) == ""
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "simple policy tuples" do
|
describe "simple policy tuples" do
|
||||||
test "gives warning when there are still strings" do
|
test "gives warning when there are still strings" do
|
||||||
clear_config([:mrf_simple],
|
clear_config([:mrf_simple],
|
||||||
|
|
Loading…
Reference in a new issue