From 75d7b9fc6d261903067ba40e73616f9fd7b2c684 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Geoffrey=20=E2=80=9CFrogeye=E2=80=9D=20Preud=27homme?= Date: Sat, 8 Jan 2022 12:36:04 +0100 Subject: [PATCH] rssVideos: Fix binge mode --- config/scripts/rssVideos | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/config/scripts/rssVideos b/config/scripts/rssVideos index 2062e00..2154000 100755 --- a/config/scripts/rssVideos +++ b/config/scripts/rssVideos @@ -464,22 +464,22 @@ class RVDatabase: return yt_dlp.YoutubeDL(self.ytdl_dry_opts) def filter(self, args: configargparse.Namespace) -> typing.Iterable[RVElement]: + elements_src = self.elements.copy() elements: typing.Iterable[RVElement] # Inexpensive sort if args.order == "new": - elements = reversed(self.elements) + elements = reversed(elements_src) elif args.order == "title": - elements = sorted(self.elements, key=lambda el: el.title) + elements = sorted(elements_src, key=lambda el: el.title) elif args.order == "creator": - elements = sorted(self.elements, key=lambda el: el.creator or "") + elements = sorted(elements_src, key=lambda el: el.creator or "") elif args.order == "link": - elements = sorted(self.elements, key=lambda el: el.link) + elements = sorted(elements_src, key=lambda el: el.link) elif args.order == "random": - elements_random = self.elements.copy() - random.shuffle(elements_random) - elements = elements_random + elements = elements_src + random.shuffle(elements) else: - elements = self.elements + elements = elements_src # Possibly expensive filtering elements = filter(lambda el: el.matches_filter(args), elements)