RichMedia: do not log webpages missing metadata as errors

Also fixes the return value of Parser.parse on errors, previously
was just `:ok` due to the logger call in the end
This commit is contained in:
rinpatch 2020-09-05 22:00:51 +03:00
commit 170599c390
2 changed files with 9 additions and 6 deletions

View file

@ -21,8 +21,13 @@ defmodule Pleroma.Web.RichMedia.Parser do
{:ok, _} <- set_ttl_based_on_image(data, url) do
{:ok, data}
else
{:error, {:invalid_metadata, data}} = e ->
Logger.debug(fn -> "Incomplete or invalid metadata for #{url}: #{inspect(data)}" end)
e
error ->
Logger.error(fn -> "Rich media error: #{inspect(error)}" end)
Logger.error(fn -> "Rich media error for #{url}: #{inspect(error)}" end)
error
end
end
@ -90,7 +95,7 @@ defmodule Pleroma.Web.RichMedia.Parser do
end)
end
defp parse_url(url) do
def parse_url(url) do
with {:ok, %Tesla.Env{body: html}} <- Pleroma.Web.RichMedia.Helpers.rich_media_get(url),
{:ok, html} <- Floki.parse_document(html) do
html
@ -116,7 +121,7 @@ defmodule Pleroma.Web.RichMedia.Parser do
end
defp check_parsed_data(data) do
{:error, "Found metadata was invalid or incomplete: #{inspect(data)}"}
{:error, {:invalid_metadata, data}}
end
defp clean_parsed_data(data) do