Enable filter_source_cutoff with new logic
This commit is contained in:
1 parent
bb73cc6c97
commit
a4794ec3b1
1 file changed
+9
-14
@@ -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"
|
||||
|
||||
Reference in new issue
Block a user