Enable filter_source_cutoff with new logic

This commit is contained in:
tcely authored and GitHub committed 2024-12-11 06:59:32 -05:00
1 parent bb73cc6c97
commit a4794ec3b1
1 file changed
+9 -14
+9 -14
View File
@@ -23,8 +23,8 @@ def filter_media(instance: Media):
skip = True
# Check if older than source_cutoff
#if filter_source_cutoff(instance):
# skip = True
if filter_source_cutoff(instance):
skip = True
# Check if we have filter_text and filter text matches
if filter_filter_text(instance):
@@ -127,20 +127,15 @@ def filter_max_cap(instance: Media):
return False
# If the source has a cut-off, check the upload date is within the allowed delta
# TODO: days to keep should be compared to downloaded date, not published
# If the source has a cut-off, check the download date is within the allowed delta
def filter_source_cutoff(instance: Media):
if instance.source.delete_old_media and instance.source.days_to_keep > 0:
if not isinstance(instance.published, datetime):
# Media has no known published date or incomplete metadata
log.info(
f"Media: {instance.source} / {instance} has no published date, skipping"
)
return True
if instance.source.delete_old_media and instance.source.days_to_keep_date:
if not instance.downloaded or not isinstance(instance.download_date, datetime):
return False
delta = timezone.now() - timedelta(days=instance.source.days_to_keep)
if instance.published < delta:
# Media was published after the cutoff date, skip it
days_to_keep_age = instance.source.days_to_keep_date
if instance.download_date < days_to_keep_age:
# Media has expired, skip it
log.info(
f"Media: {instance.source} / {instance} is older than "
f"{instance.source.days_to_keep} days, skipping"