31 lines
756 B
Python
31 lines
756 B
Python
from typing import Optional
|
|
|
|
from yt_dlp import DateRange
|
|
|
|
from ytdl_sub.config.preset_options import Overrides
|
|
from ytdl_sub.validators.string_datetime import StringDatetimeValidator
|
|
|
|
|
|
def to_date_range(
|
|
before: Optional[StringDatetimeValidator],
|
|
after: Optional[StringDatetimeValidator],
|
|
overrides: Overrides,
|
|
) -> Optional[DateRange]:
|
|
"""
|
|
Returns
|
|
-------
|
|
Date range if the 'before' or 'after' is defined. None otherwise.
|
|
"""
|
|
start: Optional[str] = None
|
|
end: Optional[str] = None
|
|
|
|
if after:
|
|
start = overrides.apply_formatter(formatter=after)
|
|
|
|
if before:
|
|
end = overrides.apply_formatter(formatter=before)
|
|
|
|
if start or end:
|
|
return DateRange(start=start, end=end)
|
|
|
|
return None
|