projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bump version
[akkoma]
/
lib
/
pleroma
/
collections
/
fetcher.ex
diff --git
a/lib/pleroma/collections/fetcher.ex
b/lib/pleroma/collections/fetcher.ex
index 205c62b4eec89fb2686b7d4a03e92929759019e8..0c81f0b56cbb3531d48be834747a15b0be66a9a1 100644
(file)
--- a/
lib/pleroma/collections/fetcher.ex
+++ b/
lib/pleroma/collections/fetcher.ex
@@
-9,17
+9,27
@@
defmodule Akkoma.Collections.Fetcher do
"""
alias Pleroma.Object.Fetcher
alias Pleroma.Config
"""
alias Pleroma.Object.Fetcher
alias Pleroma.Config
+ require Logger
def fetch_collection_by_ap_id(ap_id) when is_binary(ap_id) do
fetch_collection(ap_id)
end
def fetch_collection_by_ap_id(ap_id) when is_binary(ap_id) do
fetch_collection(ap_id)
end
- def
p fetch_collection
(ap_id) do
+ def
fetch_collection(ap_id) when is_binary
(ap_id) do
with {:ok, page} <- Fetcher.fetch_and_contain_remote_object_from_id(ap_id) do
{:ok, objects_from_collection(page)}
with {:ok, page} <- Fetcher.fetch_and_contain_remote_object_from_id(ap_id) do
{:ok, objects_from_collection(page)}
+ else
+ e ->
+ Logger.error("Could not fetch collection #{ap_id} - #{inspect(e)}")
+ e
end
end
end
end
+ def fetch_collection(%{"type" => type} = page)
+ when type in ["Collection", "OrderedCollection"] do
+ {:ok, objects_from_collection(page)}
+ end
+
defp items_in_page(%{"type" => type, "orderedItems" => items})
when is_list(items) and type in ["OrderedCollection", "OrderedCollectionPage"],
do: items
defp items_in_page(%{"type" => type, "orderedItems" => items})
when is_list(items) and type in ["OrderedCollection", "OrderedCollectionPage"],
do: items