From 58976b89043effca76005259f08d591d4c82c257 Mon Sep 17 00:00:00 2001 From: Kieran Eglin Date: Mon, 13 May 2024 14:08:18 -0700 Subject: [PATCH] Refactored MediaQuery to use a __using__ macro --- lib/pinchflat/downloading/downloading_helpers.ex | 3 ++- lib/pinchflat/fast_indexing/fast_indexing_helpers.ex | 3 ++- lib/pinchflat/lifecycle/notifications/source_notifications.ex | 3 ++- lib/pinchflat/media/media.ex | 2 +- lib/pinchflat/media/media_item.ex | 3 ++- lib/pinchflat/media/media_query.ex | 1 - lib/pinchflat/podcasts/podcast_helpers.ex | 3 ++- lib/pinchflat/sources/sources.ex | 4 ++-- lib/pinchflat_web/controllers/pages/page_controller.ex | 2 +- .../controllers/pages/page_html/history_table_live.ex | 3 +-- lib/pinchflat_web/controllers/podcasts/podcast_controller.ex | 2 +- .../controllers/sources/source_html/media_item_table_live.ex | 3 +-- 12 files changed, 17 insertions(+), 15 deletions(-) diff --git a/lib/pinchflat/downloading/downloading_helpers.ex b/lib/pinchflat/downloading/downloading_helpers.ex index 9bfbc88..d6f8966 100644 --- a/lib/pinchflat/downloading/downloading_helpers.ex +++ b/lib/pinchflat/downloading/downloading_helpers.ex @@ -7,12 +7,13 @@ defmodule Pinchflat.Downloading.DownloadingHelpers do require Logger + use Pinchflat.Media.MediaQuery + alias Pinchflat.Repo alias Pinchflat.Media alias Pinchflat.Tasks alias Pinchflat.Sources.Source alias Pinchflat.Media.MediaItem - alias Pinchflat.Media.MediaQuery alias Pinchflat.Downloading.MediaDownloadWorker @doc """ diff --git a/lib/pinchflat/fast_indexing/fast_indexing_helpers.ex b/lib/pinchflat/fast_indexing/fast_indexing_helpers.ex index b12eff2..366357f 100644 --- a/lib/pinchflat/fast_indexing/fast_indexing_helpers.ex +++ b/lib/pinchflat/fast_indexing/fast_indexing_helpers.ex @@ -7,10 +7,11 @@ defmodule Pinchflat.FastIndexing.FastIndexingHelpers do require Logger + use Pinchflat.Media.MediaQuery + alias Pinchflat.Repo alias Pinchflat.Media alias Pinchflat.Sources.Source - alias Pinchflat.Media.MediaQuery alias Pinchflat.FastIndexing.YoutubeRss alias Pinchflat.Downloading.DownloadingHelpers diff --git a/lib/pinchflat/lifecycle/notifications/source_notifications.ex b/lib/pinchflat/lifecycle/notifications/source_notifications.ex index 4d0cf28..29a1396 100644 --- a/lib/pinchflat/lifecycle/notifications/source_notifications.ex +++ b/lib/pinchflat/lifecycle/notifications/source_notifications.ex @@ -5,8 +5,9 @@ defmodule Pinchflat.Lifecycle.Notifications.SourceNotifications do require Logger + use Pinchflat.Media.MediaQuery + alias Pinchflat.Repo - alias Pinchflat.Media.MediaQuery @doc """ Wraps a function that may change the number of pending or downloaded diff --git a/lib/pinchflat/media/media.ex b/lib/pinchflat/media/media.ex index 9178a67..c5e9a38 100644 --- a/lib/pinchflat/media/media.ex +++ b/lib/pinchflat/media/media.ex @@ -4,12 +4,12 @@ defmodule Pinchflat.Media do """ import Ecto.Query, warn: false + use Pinchflat.Media.MediaQuery alias Pinchflat.Repo alias Pinchflat.Tasks alias Pinchflat.Sources.Source alias Pinchflat.Media.MediaItem - alias Pinchflat.Media.MediaQuery alias Pinchflat.Utils.FilesystemUtils alias Pinchflat.Metadata.MediaMetadata diff --git a/lib/pinchflat/media/media_item.ex b/lib/pinchflat/media/media_item.ex index f0ed063..7018e39 100644 --- a/lib/pinchflat/media/media_item.ex +++ b/lib/pinchflat/media/media_item.ex @@ -4,6 +4,8 @@ defmodule Pinchflat.Media.MediaItem do """ use Ecto.Schema + use Pinchflat.Media.MediaQuery + import Ecto.Changeset import Pinchflat.Utils.ChangesetUtils @@ -12,7 +14,6 @@ defmodule Pinchflat.Media.MediaItem do alias Pinchflat.Sources alias Pinchflat.Tasks.Task alias Pinchflat.Sources.Source - alias Pinchflat.Media.MediaQuery alias Pinchflat.Metadata.MediaMetadata alias Pinchflat.Media.MediaItemsSearchIndex diff --git a/lib/pinchflat/media/media_query.ex b/lib/pinchflat/media/media_query.ex index 0fadc26..c684664 100644 --- a/lib/pinchflat/media/media_query.ex +++ b/lib/pinchflat/media/media_query.ex @@ -12,7 +12,6 @@ defmodule Pinchflat.Media.MediaQuery do alias Pinchflat.Media.MediaItem - # TODO: test defmacro __using__(_opts) do quote do import Ecto.Query, warn: false diff --git a/lib/pinchflat/podcasts/podcast_helpers.ex b/lib/pinchflat/podcasts/podcast_helpers.ex index 3353070..58abbe7 100644 --- a/lib/pinchflat/podcasts/podcast_helpers.ex +++ b/lib/pinchflat/podcasts/podcast_helpers.ex @@ -4,8 +4,9 @@ defmodule Pinchflat.Podcasts.PodcastHelpers do or its media items """ + use Pinchflat.Media.MediaQuery + alias Pinchflat.Repo - alias Pinchflat.Media.MediaQuery alias Pinchflat.Metadata.MediaMetadata alias Pinchflat.Metadata.SourceMetadata diff --git a/lib/pinchflat/sources/sources.ex b/lib/pinchflat/sources/sources.ex index ab6fc2e..9fd6637 100644 --- a/lib/pinchflat/sources/sources.ex +++ b/lib/pinchflat/sources/sources.ex @@ -4,12 +4,12 @@ defmodule Pinchflat.Sources do """ import Ecto.Query, warn: false - alias Pinchflat.Repo + use Pinchflat.Media.MediaQuery + alias Pinchflat.Repo alias Pinchflat.Media alias Pinchflat.Tasks alias Pinchflat.Sources.Source - alias Pinchflat.Media.MediaQuery alias Pinchflat.Profiles.MediaProfile alias Pinchflat.YtDlp.MediaCollection alias Pinchflat.Metadata.SourceMetadata diff --git a/lib/pinchflat_web/controllers/pages/page_controller.ex b/lib/pinchflat_web/controllers/pages/page_controller.ex index b66a96b..a6e36da 100644 --- a/lib/pinchflat_web/controllers/pages/page_controller.ex +++ b/lib/pinchflat_web/controllers/pages/page_controller.ex @@ -1,9 +1,9 @@ defmodule PinchflatWeb.Pages.PageController do use PinchflatWeb, :controller + use Pinchflat.Media.MediaQuery alias Pinchflat.Repo alias Pinchflat.Sources.Source - alias Pinchflat.Media.MediaQuery alias Pinchflat.Profiles.MediaProfile def home(conn, params) do diff --git a/lib/pinchflat_web/controllers/pages/page_html/history_table_live.ex b/lib/pinchflat_web/controllers/pages/page_html/history_table_live.ex index 10a8118..34147ef 100644 --- a/lib/pinchflat_web/controllers/pages/page_html/history_table_live.ex +++ b/lib/pinchflat_web/controllers/pages/page_html/history_table_live.ex @@ -1,9 +1,8 @@ defmodule Pinchflat.Pages.HistoryTableLive do use PinchflatWeb, :live_view - import Ecto.Query, warn: false + use Pinchflat.Media.MediaQuery alias Pinchflat.Repo - alias Pinchflat.Media.MediaQuery alias Pinchflat.Utils.NumberUtils alias PinchflatWeb.CustomComponents.TextComponents diff --git a/lib/pinchflat_web/controllers/podcasts/podcast_controller.ex b/lib/pinchflat_web/controllers/podcasts/podcast_controller.ex index 65e0ca7..b310501 100644 --- a/lib/pinchflat_web/controllers/podcasts/podcast_controller.ex +++ b/lib/pinchflat_web/controllers/podcasts/podcast_controller.ex @@ -1,10 +1,10 @@ defmodule PinchflatWeb.Podcasts.PodcastController do use PinchflatWeb, :controller + use Pinchflat.Media.MediaQuery alias Pinchflat.Repo alias Pinchflat.Sources.Source alias Pinchflat.Media.MediaItem - alias Pinchflat.Media.MediaQuery alias Pinchflat.Podcasts.RssFeedBuilder alias Pinchflat.Podcasts.PodcastHelpers diff --git a/lib/pinchflat_web/controllers/sources/source_html/media_item_table_live.ex b/lib/pinchflat_web/controllers/sources/source_html/media_item_table_live.ex index b6bfd76..0b98687 100644 --- a/lib/pinchflat_web/controllers/sources/source_html/media_item_table_live.ex +++ b/lib/pinchflat_web/controllers/sources/source_html/media_item_table_live.ex @@ -1,10 +1,9 @@ defmodule Pinchflat.Sources.MediaItemTableLive do use PinchflatWeb, :live_view - import Ecto.Query, warn: false + use Pinchflat.Media.MediaQuery alias Pinchflat.Repo alias Pinchflat.Sources - alias Pinchflat.Media.MediaQuery alias Pinchflat.Utils.NumberUtils @limit 10