Download cutoff date for sources (#69)
* Added new uploaded_at column to media items * Updated indexer to pull upload date * Updates media item creation to update on conflict * Added download cutoff date to sources * Applies cutoff date logic to pending media logic * Updated docs
This commit is contained in:
@@ -9,7 +9,8 @@ defmodule Pinchflat.YtDlp.Backend.Media do
|
||||
:description,
|
||||
:original_url,
|
||||
:livestream,
|
||||
:short_form_content
|
||||
:short_form_content,
|
||||
:upload_date
|
||||
]
|
||||
|
||||
defstruct [
|
||||
@@ -18,7 +19,8 @@ defmodule Pinchflat.YtDlp.Backend.Media do
|
||||
:description,
|
||||
:original_url,
|
||||
:livestream,
|
||||
:short_form_content
|
||||
:short_form_content,
|
||||
:upload_date
|
||||
]
|
||||
|
||||
alias __MODULE__
|
||||
@@ -67,7 +69,7 @@ defmodule Pinchflat.YtDlp.Backend.Media do
|
||||
Returns the output template for yt-dlp's indexing command.
|
||||
"""
|
||||
def indexing_output_template do
|
||||
"%(.{id,title,was_live,webpage_url,description,aspect_ratio,duration})j"
|
||||
"%(.{id,title,was_live,webpage_url,description,aspect_ratio,duration,upload_date})j"
|
||||
end
|
||||
|
||||
@doc """
|
||||
@@ -83,7 +85,8 @@ defmodule Pinchflat.YtDlp.Backend.Media do
|
||||
description: response["description"],
|
||||
original_url: response["webpage_url"],
|
||||
livestream: response["was_live"],
|
||||
short_form_content: short_form_content?(response)
|
||||
short_form_content: short_form_content?(response),
|
||||
upload_date: parse_upload_date(response["upload_date"])
|
||||
}
|
||||
end
|
||||
|
||||
@@ -100,6 +103,12 @@ defmodule Pinchflat.YtDlp.Backend.Media do
|
||||
end
|
||||
end
|
||||
|
||||
defp parse_upload_date(upload_date) do
|
||||
<<year::binary-size(4)>> <> <<month::binary-size(2)>> <> <<day::binary-size(2)>> = upload_date
|
||||
|
||||
Date.from_iso8601!("#{year}-#{month}-#{day}")
|
||||
end
|
||||
|
||||
defp backend_runner do
|
||||
# This approach lets us mock the command for testing
|
||||
Application.get_env(:pinchflat, :yt_dlp_runner)
|
||||
|
||||
Reference in New Issue
Block a user