forked from mirrors/akkoma
Try fetching shares.
This commit is contained in:
parent
03b7b2fa24
commit
9d97be4413
1 changed files with 13 additions and 2 deletions
|
@ -63,8 +63,7 @@ defmodule Pleroma.Web.OStatus do
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_share(entry, doc) do
|
def handle_share(entry, doc) do
|
||||||
with [object] <- :xmerl_xpath.string('/entry/activity:object', entry),
|
with {:ok, retweeted_activity} <- get_or_build_object(entry),
|
||||||
{:ok, retweeted_activity} <- handle_note(object, object),
|
|
||||||
{:ok, activity} <- make_share(entry, doc, retweeted_activity) do
|
{:ok, activity} <- make_share(entry, doc, retweeted_activity) do
|
||||||
{:ok, activity, retweeted_activity}
|
{:ok, activity, retweeted_activity}
|
||||||
else
|
else
|
||||||
|
@ -81,6 +80,18 @@ defmodule Pleroma.Web.OStatus do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def get_or_build_object(entry) do
|
||||||
|
with {:ok, activity} <- get_or_try_fetching(entry) do
|
||||||
|
{:ok, activity}
|
||||||
|
else
|
||||||
|
_e ->
|
||||||
|
with [object] <- :xmerl_xpath.string('/entry/activity:object', entry) do
|
||||||
|
handle_note(object, object)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
def get_or_try_fetching(entry) do
|
def get_or_try_fetching(entry) do
|
||||||
Logger.debug("Trying to get entry from db")
|
Logger.debug("Trying to get entry from db")
|
||||||
with id when not is_nil(id) <- string_from_xpath("//activity:object[1]/id", entry),
|
with id when not is_nil(id) <- string_from_xpath("//activity:object[1]/id", entry),
|
||||||
|
|
Loading…
Reference in a new issue