diff --git a/lib/graphql/resolvers/resource.ex b/lib/graphql/resolvers/resource.ex index a7226feac..aaf97a88f 100644 --- a/lib/graphql/resolvers/resource.ex +++ b/lib/graphql/resolvers/resource.ex @@ -5,12 +5,12 @@ defmodule Mobilizon.GraphQL.Resolvers.Resource do alias Mobilizon.{Actors, Resources, Users} alias Mobilizon.Actors.Actor + alias Mobilizon.Federation.ActivityPub alias Mobilizon.Resources.Resource alias Mobilizon.Resources.Resource.Metadata + alias Mobilizon.Service.RichMedia.Parser alias Mobilizon.Storage.Page alias Mobilizon.Users.User - alias Mobilizon.Federation.ActivityPub - alias Mobilizon.Service.RichMedia.Parser require Logger diff --git a/lib/mobilizon/config.ex b/lib/mobilizon/config.ex index d95bf5ff5..a1a73397b 100644 --- a/lib/mobilizon/config.ex +++ b/lib/mobilizon/config.ex @@ -139,7 +139,7 @@ defmodule Mobilizon.Config do :enabled ] - def instance_resource_providers() do + def instance_resource_providers do types = get_in(Application.get_env(:mobilizon, Mobilizon.Service.ResourceProviders), [:types]) providers = diff --git a/lib/mobilizon/resources/resources.ex b/lib/mobilizon/resources/resources.ex index 546633048..37da6ef9c 100644 --- a/lib/mobilizon/resources/resources.ex +++ b/lib/mobilizon/resources/resources.ex @@ -2,11 +2,12 @@ defmodule Mobilizon.Resources do @moduledoc """ The Resources context. """ + alias Ecto.Adapters.SQL + alias Ecto.Multi alias Mobilizon.Actors alias Mobilizon.Actors.Actor alias Mobilizon.Resources.Resource alias Mobilizon.Storage.{Page, Repo} - alias Ecto.Multi import Ecto.Query require Logger @@ -172,7 +173,7 @@ defmodule Mobilizon.Resources do ["#{path}/#{title}/", actor_id, old_parent_id]} end - Ecto.Adapters.SQL.query!( + SQL.query!( repo, query, params diff --git a/lib/service/rich_media/parser.ex b/lib/service/rich_media/parser.ex index cc85c8a26..c0e4f2fd6 100644 --- a/lib/service/rich_media/parser.ex +++ b/lib/service/rich_media/parser.ex @@ -16,6 +16,7 @@ defmodule Mobilizon.Service.RichMedia.Parser do alias Mobilizon.Config alias Mobilizon.Service.RichMedia.Favicon + alias Plug.Conn.Utils require Logger defp parsers do @@ -26,23 +27,21 @@ defmodule Mobilizon.Service.RichMedia.Parser do @spec parse(String.t()) :: {:ok, map()} | {:error, any()} def parse(url) do - try do - case Cachex.fetch(:rich_media_cache, url, fn _ -> - case parse_url(url) do - {:ok, data} -> {:commit, data} - {:error, err} -> {:ignore, err} - end - end) do - {status, value} when status in [:ok, :commit] -> - {:ok, value} + case Cachex.fetch(:rich_media_cache, url, fn _ -> + case parse_url(url) do + {:ok, data} -> {:commit, data} + {:error, err} -> {:ignore, err} + end + end) do + {status, value} when status in [:ok, :commit] -> + {:ok, value} - {_, err} -> - {:error, err} - end - rescue - e -> - {:error, "Cachex error: #{inspect(e)}"} + {_, err} -> + {:error, err} end + rescue + e -> + {:error, "Cachex error: #{inspect(e)}"} end @spec parse_url(String.t(), List.t()) :: {:ok, map()} | {:error, any()} @@ -154,7 +153,7 @@ defmodule Mobilizon.Service.RichMedia.Parser do @spec parse_content_disposition(String.t()) :: String.t() | nil defp parse_content_disposition(disposition) do with [_, params] <- :binary.split(disposition, ";"), - %{"name" => _name} = params <- Plug.Conn.Utils.params(params) do + %{"name" => _name} = params <- Utils.params(params) do handle_disposition(params) else _ -> nil diff --git a/lib/service/rich_media/parsers/ogp.ex b/lib/service/rich_media/parsers/ogp.ex index 9b4628024..8a504952b 100644 --- a/lib/service/rich_media/parsers/ogp.ex +++ b/lib/service/rich_media/parsers/ogp.ex @@ -8,12 +8,13 @@ defmodule Mobilizon.Service.RichMedia.Parsers.OGP do Module to parse OpenGraph data in HTML pages """ require Logger + alias Mobilizon.Service.RichMedia.Parsers.MetaTagsParser def parse(html, data) do Logger.debug("Using OpenGraph card parser") with {:ok, data} <- - Mobilizon.Service.RichMedia.Parsers.MetaTagsParser.parse( + MetaTagsParser.parse( html, data, "og",