Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into develop

This commit is contained in:
lain 2018-04-07 16:41:47 +02:00
commit 8f9bcc4ab0
2 changed files with 15 additions and 9 deletions

View File

@ -182,13 +182,13 @@ def follow_import(conn, %{"list" => %Plug.Upload{} = listfile}) do
def follow_import(%{assigns: %{user: user}} = conn, %{"list" => list}) do def follow_import(%{assigns: %{user: user}} = conn, %{"list" => list}) do
Task.start(fn -> Task.start(fn ->
String.split(list) String.split(list)
|> Enum.map(fn nick -> |> Enum.map(fn account ->
with %User{} = follower <- User.get_cached_by_ap_id(user.ap_id), 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 {:ok, follower} <- User.follow(follower, followed) do
ActivityPub.follow(follower, followed) ActivityPub.follow(follower, followed)
else else
_e -> Logger.debug("follow_import: following #{nick} failed") _e -> Logger.debug("follow_import: following #{account} failed")
end end
end) end)
end) end)

View File

@ -4,14 +4,20 @@ defmodule Pleroma.Web.XML do
def string_from_xpath(_, :error), do: nil def string_from_xpath(_, :error), do: nil
def string_from_xpath(xpath, doc) do 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 =
res res
|> to_string |> to_string
|> String.trim() |> 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 end
def parse_document(text) do def parse_document(text) do