commit: 44659ecd65fb2251f9130fcecf1732b8931104c1
parent 43dfa58ebda407a0813d398bee8d0ae3e5c9fd5b
Author: Claudio Maradonna <penguyman@stronzi.org>
Date: Sat, 16 Apr 2022 09:38:49 +0200
ipfs: revert to String.replace for cid placeholder
ipfs: fix lint
Diffstat:
5 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/config/description.exs b/config/description.exs
@@ -147,8 +147,8 @@ config :pleroma, :config_description, [
type: :string,
description: "GET Gateway URL",
suggestions: [
- "https://ipfs.mydomain.com/<%= cid %>",
- "https://<%= cid %>.ipfs.mydomain.com/"
+ "https://ipfs.mydomain.com/{CID}",
+ "https://{CID}.ipfs.mydomain.com/"
]
},
%{
diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md
@@ -624,7 +624,7 @@ Example:
```elixir
config :pleroma, Pleroma.Uploaders.IPFS,
post_gateway_url: "http://localhost:5001",
- get_gateway_url: "http://<%= cid %>.ipfs.mydomain.com"
+ get_gateway_url: "http://{CID}.ipfs.mydomain.com"
```
### Upload filters
diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex
@@ -235,8 +235,8 @@ defmodule Pleroma.Upload do
""
end
- if String.contains?(base_url, "<%= cid %>") do
- EEx.eval_string(base_url, cid: path)
+ if String.contains?(base_url, Pleroma.Uploaders.IPFS.placeholder()) do
+ String.replace(base_url, Pleroma.Uploaders.IPFS.placeholder(), path)
else
[base_url, path]
|> Path.join()
diff --git a/lib/pleroma/uploaders/ipfs.ex b/lib/pleroma/uploaders/ipfs.ex
@@ -9,12 +9,15 @@ defmodule Pleroma.Uploaders.IPFS do
alias Pleroma.Config
alias Tesla.Multipart
+ @placeholder "{CID}"
+ def placeholder, do: @placeholder
+
@impl true
def get_file(file) do
b_url = Pleroma.Upload.base_url()
- if String.contains?(b_url, "<%= cid %>") do
- {:ok, {:url, EEx.eval_string(b_url, cid: URI.decode(file))}}
+ if String.contains?(b_url, @placeholder) do
+ {:ok, {:url, String.replace(b_url, @placeholder, URI.decode(file))}}
else
{:error, "IPFS Get URL doesn't contain 'cid' placeholder"}
end
diff --git a/test/pleroma/uploaders/ipfs_test.exs b/test/pleroma/uploaders/ipfs_test.exs
@@ -17,7 +17,7 @@ defmodule Pleroma.Uploaders.IPFSTest do
clear_config(
[Pleroma.Uploaders.IPFS, :get_gateway_url],
- "https://<%= cid %>.ipfs.mydomain.com"
+ "https://{CID}.ipfs.mydomain.com"
)
clear_config([Pleroma.Uploaders.IPFS, :post_gateway_url], "http://localhost:5001")
@@ -34,7 +34,7 @@ defmodule Pleroma.Uploaders.IPFSTest do
test "it returns path to ipfs file with cid as path" do
clear_config(
[Pleroma.Uploaders.IPFS, :get_gateway_url],
- "https://ipfs.mydomain.com/ipfs/<%= cid %>"
+ "https://ipfs.mydomain.com/ipfs/{CID}"
)
assert IPFS.get_file("testcid") == {