summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Maradonna <penguyman@stronzi.org>2022-04-16 09:38:49 +0200
committerClaudio Maradonna <penguyman@stronzi.org>2022-07-07 06:29:12 +0200
commit44659ecd65fb2251f9130fcecf1732b8931104c1 (patch)
tree88d85f396ae4f0d1d6b91c60f0b6506ba5bc29d7
parent43dfa58ebda407a0813d398bee8d0ae3e5c9fd5b (diff)
downloadpleroma-44659ecd65fb2251f9130fcecf1732b8931104c1.tar.gz
pleroma-44659ecd65fb2251f9130fcecf1732b8931104c1.zip
ipfs: revert to String.replace for cid placeholder
ipfs: fix lint
-rw-r--r--config/description.exs4
-rw-r--r--docs/configuration/cheatsheet.md2
-rw-r--r--lib/pleroma/upload.ex4
-rw-r--r--lib/pleroma/uploaders/ipfs.ex7
-rw-r--r--test/pleroma/uploaders/ipfs_test.exs4
5 files changed, 12 insertions, 9 deletions
diff --git a/config/description.exs b/config/description.exs
index 1fe5f01f0..b180e7308 100644
--- 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
index 7e1f9c934..d35b33574 100644
--- 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
index b51d23f9e..8a01cf613 100644
--- 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
index 722c68fa1..dde520d8e 100644
--- 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
index f9ae046cf..fc87fa378 100644
--- 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") == {