aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/pleroma/web/twitter_api/controllers/util_controller.ex6
-rw-r--r--lib/pleroma/web/xml/xml.ex18
2 files changed, 15 insertions, 9 deletions
diff --git a/lib/pleroma/web/twitter_api/controllers/util_controller.ex b/lib/pleroma/web/twitter_api/controllers/util_controller.ex
index 8f452c31c..c7b1a5b95 100644
--- a/lib/pleroma/web/twitter_api/controllers/util_controller.ex
+++ b/lib/pleroma/web/twitter_api/controllers/util_controller.ex
@@ -182,13 +182,13 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
def follow_import(%{assigns: %{user: user}} = conn, %{"list" => list}) do
Task.start(fn ->
String.split(list)
- |> Enum.map(fn nick ->
+ |> Enum.map(fn account ->
with %User{} = follower <- User.get_cached_by_ap_id(user.ap_id),
- %User{} = followed <- User.get_or_fetch_by_nickname(nick),
+ %User{} = followed <- User.get_or_fetch(account),
{:ok, follower} <- User.follow(follower, followed) do
ActivityPub.follow(follower, followed)
else
- _e -> Logger.debug("follow_import: following #{nick} failed")
+ _e -> Logger.debug("follow_import: following #{account} failed")
end
end)
end)
diff --git a/lib/pleroma/web/xml/xml.ex b/lib/pleroma/web/xml/xml.ex
index b85712d65..8b609f695 100644
--- a/lib/pleroma/web/xml/xml.ex
+++ b/lib/pleroma/web/xml/xml.ex
@@ -4,14 +4,20 @@ defmodule Pleroma.Web.XML do
def string_from_xpath(_, :error), do: nil
def string_from_xpath(xpath, doc) do
- {:xmlObj, :string, res} = :xmerl_xpath.string('string(#{xpath})', doc)
+ try do
+ {:xmlObj, :string, res} = :xmerl_xpath.string('string(#{xpath})', doc)
- res =
- res
- |> to_string
- |> String.trim()
+ res =
+ res
+ |> to_string
+ |> String.trim()
- if res == "", do: nil, else: res
+ if res == "", do: nil, else: res
+ catch
+ e ->
+ Logger.debug("Couldn't find xpath #{xpath} in XML doc")
+ nil
+ end
end
def parse_document(text) do