From beaa34a3679267748fc647c9fb2b1d4e09e5ee1d Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Tue, 13 Dec 2022 00:23:16 -0800 Subject: [PATCH] [BUGFIX] Fix entry missing __contains__ function (#392) * [BUGFIX] Fix missing contains function when checking entries * remove children func * Update failing hash --- src/ytdl_sub/entries/entry_parent.py | 11 ++++------- .../plugins/chapters/test_chapters_from_comments.json | 4 ++-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/ytdl_sub/entries/entry_parent.py b/src/ytdl_sub/entries/entry_parent.py index 09c7d258..97ba4365 100644 --- a/src/ytdl_sub/entries/entry_parent.py +++ b/src/ytdl_sub/entries/entry_parent.py @@ -63,11 +63,6 @@ class EntryParent(BaseEntry): """This parent's children that are entries""" return self._entry_children - @property - def children(self) -> List[TBaseEntry]: - """Children, both entries and parent entries, cast as BaseEntry""" - return self._parent_children + self._entry_children - def num_children(self) -> int: """ Returns @@ -210,7 +205,7 @@ class EntryParent(BaseEntry): if not playlist_id: return False - return self.uid == playlist_id or any(child.__contains__(item) for child in self.children) + return self.uid == playlist_id or any(item in child for child in self.parent_children()) @classmethod def _get_disconnected_root_parent( @@ -224,7 +219,9 @@ class EntryParent(BaseEntry): return webpage_url in url or url in webpage_url top_level_parents = [ - parent for parent in parents if not parent.children and _url_matches(parent.webpage_url) + parent + for parent in parents + if parent.num_children() == 0 and _url_matches(parent.webpage_url) ] match len(top_level_parents): diff --git a/tests/resources/expected_downloads_summaries/plugins/chapters/test_chapters_from_comments.json b/tests/resources/expected_downloads_summaries/plugins/chapters/test_chapters_from_comments.json index 42ea6952..2836f6a3 100644 --- a/tests/resources/expected_downloads_summaries/plugins/chapters/test_chapters_from_comments.json +++ b/tests/resources/expected_downloads_summaries/plugins/chapters/test_chapters_from_comments.json @@ -1,7 +1,7 @@ { ".ytdl-sub-chapters_from_comments-download-archive.json": "122723ce8d257eebb05178daa26141f6", "JMC/JMC - Move 78 - Automated Improvisation [Full Album]-thumb.jpg": "c12e6a6f242680d1096a1a99d74a62c6", - "JMC/JMC - Move 78 - Automated Improvisation [Full Album].info.json": "f6045c28cc588187167a3f42e6f37f0c", - "JMC/JMC - Move 78 - Automated Improvisation [Full Album].mp4": "8b8a9a731a19bc37feb091559f97ebbc", + "JMC/JMC - Move 78 - Automated Improvisation [Full Album].info.json": "228adc1dbc785852c8266457af0adadc", + "JMC/JMC - Move 78 - Automated Improvisation [Full Album].mp4": "68c1c4b20b89511b26a92b967e54891e", "JMC/JMC - Move 78 - Automated Improvisation [Full Album].nfo": "7a65b184d24c68fc0ec5380432250f5b" } \ No newline at end of file