feat(main): main

This commit is contained in:
2026-03-10 08:39:28 -04:00
parent b1a93161c0
commit af3076342a
18 changed files with 826 additions and 38 deletions

View File

@@ -133,9 +133,31 @@ def sync_source(media_source: MediaSource, max_videos: int | None = None) -> dic
description = entry.get("description") or ""
release_year = None
upload_date = entry.get("upload_date") # "YYYYMMDD"
if upload_date and len(upload_date) >= 4:
# Enforce Source Rules
if media_source.min_video_length_seconds is not None:
if duration < media_source.min_video_length_seconds:
skipped += 1
continue
if media_source.max_video_length_seconds is not None:
if duration > media_source.max_video_length_seconds:
skipped += 1
continue
if upload_date and len(upload_date) >= 8:
try:
release_year = int(upload_date[:4])
year = int(upload_date[0:4])
month = int(upload_date[4:6])
day = int(upload_date[6:8])
from datetime import date
video_date = date(year, month, day)
release_year = year
if media_source.max_age_days is not None:
age_days = (date.today() - video_date).days
if age_days > media_source.max_age_days:
skipped += 1
continue
except ValueError:
pass