[Enhancement] Media from before a source's cutoff date is now automatically deleted (#329)
* Changed the purpose of the 'culled_at' flag. renamed some methods * implemented new culling behaviour for source cutoff dates * Removed culled_at flag if a media item gets redownloaded * Updated source form * Removed unused method
This commit is contained in:
1 parent
47596d5f72
commit
d392fc3818
11 files changed
+235
-153
No files matched your search
@@ -25,21 +25,10 @@ defmodule Pinchflat.Media do
|
||||
end
|
||||
|
||||
@doc """
|
||||
Returns a list of media_items that are cullable based on the retention period
|
||||
of the source they belong to.
|
||||
|
||||
Returns [%MediaItem{}, ...]
|
||||
"""
|
||||
def list_cullable_media_items do
|
||||
MediaQuery.new()
|
||||
|> MediaQuery.require_assoc(:source)
|
||||
|> where(^MediaQuery.cullable())
|
||||
|> Repo.all()
|
||||
end
|
||||
|
||||
@doc """
|
||||
Returns a list of media_items that are redownloadable based on the redownload delay
|
||||
of the media_profile their source belongs to.
|
||||
Returns a list of media_items that are upgradeable based on the redownload delay
|
||||
of the media_profile their source belongs to. In this context, upgradeable means
|
||||
that it's been long enough since upload that the video may be in a higher quality
|
||||
or have better sponsorblock segments (or similar).
|
||||
|
||||
The logic is that a media_item is past_redownload_delay if the media_item's uploaded_at is
|
||||
at least redownload_delay_days ago AND `media_downloaded_at` - `redownload_delay_days`
|
||||
@@ -52,10 +41,10 @@ defmodule Pinchflat.Media do
|
||||
|
||||
Returns [%MediaItem{}, ...]
|
||||
"""
|
||||
def list_redownloadable_media_items do
|
||||
def list_upgradeable_media_items do
|
||||
MediaQuery.new()
|
||||
|> MediaQuery.require_assoc(:media_profile)
|
||||
|> where(^MediaQuery.redownloadable())
|
||||
|> where(^MediaQuery.upgradeable())
|
||||
|> Repo.all()
|
||||
end
|
||||
|
||||
|
||||
Reference in new issue
Block a user