Merge branch 'main' of github.com:meeb/tubesync

This commit is contained in:
meeb 2024-12-11 23:44:39 +11:00
commit fcb9803da6
2 changed files with 17 additions and 14 deletions

View File

@ -23,8 +23,8 @@ def filter_media(instance: Media):
skip = True skip = True
# Check if older than source_cutoff # Check if older than source_cutoff
#if filter_source_cutoff(instance): if filter_source_cutoff(instance):
# skip = True skip = True
# Check if we have filter_text and filter text matches # Check if we have filter_text and filter text matches
if filter_filter_text(instance): if filter_filter_text(instance):
@ -127,20 +127,15 @@ def filter_max_cap(instance: Media):
return False return False
# If the source has a cut-off, check the upload date is within the allowed delta # If the source has a cut-off, check the download date is within the allowed delta
# TODO: days to keep should be compared to downloaded date, not published
def filter_source_cutoff(instance: Media): def filter_source_cutoff(instance: Media):
if instance.source.delete_old_media and instance.source.days_to_keep > 0: if instance.source.delete_old_media and instance.source.days_to_keep_date:
if not isinstance(instance.published, datetime): if not instance.downloaded or not isinstance(instance.download_date, datetime):
# Media has no known published date or incomplete metadata return False
log.info(
f"Media: {instance.source} / {instance} has no published date, skipping"
)
return True
delta = timezone.now() - timedelta(days=instance.source.days_to_keep) days_to_keep_age = instance.source.days_to_keep_date
if instance.published < delta: if instance.download_date < days_to_keep_age:
# Media was published after the cutoff date, skip it # Media has expired, skip it
log.info( log.info(
f"Media: {instance.source} / {instance} is older than " f"Media: {instance.source} / {instance} is older than "
f"{instance.source.days_to_keep} days, skipping" f"{instance.source.days_to_keep} days, skipping"

View File

@ -460,6 +460,14 @@ class Source(models.Model):
else: else:
return False return False
@property
def days_to_keep_date(self):
delta = self.days_to_keep
if delta > 0:
return timezone.now() - timedelta(days=delta)
else:
return False
@property @property
def extension(self): def extension(self):
''' '''