Merge pull request #1290 from tcely/patch-2

Select the current choice for `Source.filter_seconds_min`
This commit is contained in:
meeb
2025-08-25 05:53:09 +10:00
committed by GitHub
3 changed files with 14 additions and 8 deletions

View File

@@ -50,6 +50,10 @@ class FilterSeconds(models.IntegerChoices):
MIN = True, _('Minimum Length')
MAX = False, _('Maximum Length')
@classmethod
def choices_bool(cls):
return [ (bool(k), v,) for k, v in cls.choices ]
class IndexSchedule(models.IntegerChoices):
EVERY_HOUR = 3600, _('Every hour')

View File

@@ -194,8 +194,8 @@ class Source(db.models.Model):
)
filter_seconds_min = db.models.BooleanField(
_('filter seconds min/max'),
choices=FilterSeconds.choices,
default=Val(FilterSeconds.MIN),
choices=FilterSeconds.choices_bool(),
default=bool(FilterSeconds.MIN),
help_text=_(
'When Filter Seconds is > 0, do we skip on minimum (video shorter than limit) or maximum (video '
'greater than maximum) video duration'

View File

@@ -22,9 +22,11 @@ from .tasks import (
)
from .filtering import filter_media
from .utils import filter_response
from .choices import (Val, Fallback, IndexSchedule, SourceResolution,
TaskQueue, YouTube_AudioCodec, YouTube_VideoCodec,
YouTube_SourceType, youtube_long_source_types)
from .choices import (
Val, Fallback, FilterSeconds, IndexSchedule, SourceResolution,
TaskQueue, YouTube_AudioCodec, YouTube_VideoCodec,
YouTube_SourceType, youtube_long_source_types,
)
class FrontEndTestCase(TestCase):
@@ -195,7 +197,7 @@ class FrontEndTestCase(TestCase):
'media_format': settings.MEDIA_FORMATSTR_DEFAULT,
'download_cap': 0,
'filter_text': '.*',
'filter_seconds_min': int(True),
'filter_seconds_min': bool(FilterSeconds.MIN),
'index_schedule': 3600,
'download_media': False,
'index_videos': True,
@@ -258,7 +260,7 @@ class FrontEndTestCase(TestCase):
'media_format': settings.MEDIA_FORMATSTR_DEFAULT,
'download_cap': 0,
'filter_text': '.*',
'filter_seconds_min': int(True),
'filter_seconds_min': bool(FilterSeconds.MIN),
'index_schedule': Val(IndexSchedule.EVERY_HOUR),
'delete_old_media': False,
'days_to_keep': 14,
@@ -295,7 +297,7 @@ class FrontEndTestCase(TestCase):
'media_format': settings.MEDIA_FORMATSTR_DEFAULT,
'download_cap': 0,
'filter_text': '.*',
'filter_seconds_min': int(True),
'filter_seconds_min': bool(FilterSeconds.MIN),
'index_schedule': Val(IndexSchedule.EVERY_2_HOURS), # changed
'delete_old_media': False,
'days_to_keep': 14,