From 91bccfd05712cf981027052d776b06d73ba4adef Mon Sep 17 00:00:00 2001 From: simon Date: Tue, 12 Jul 2022 11:41:03 +0700 Subject: [PATCH] deactivate non existing channels on reindex --- tubearchivist/home/src/index/channel.py | 13 +++++++++++++ tubearchivist/home/src/index/reindex.py | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/tubearchivist/home/src/index/channel.py b/tubearchivist/home/src/index/channel.py index eea9852..400c5f5 100644 --- a/tubearchivist/home/src/index/channel.py +++ b/tubearchivist/home/src/index/channel.py @@ -37,6 +37,9 @@ class ChannelScraper: """main method to return channel dict""" self.get_soup() self._extract_yt_json() + if self._is_deactivated(): + return False + self._parse_channel_main() self._parse_channel_meta() return self.json_data @@ -68,6 +71,16 @@ class ChannelScraper: json_raw = script_content.rstrip(";") self.yt_json = json.loads(json_raw) + def _is_deactivated(self): + """check if channel is deactivated""" + alert_text = "This channel does not exist." + alerts = self.yt_json.get("alerts") + if alerts and alert_text in str(alerts): + print(f"{self.channel_id}: {alert_text}") + return True + + return False + def _parse_channel_main(self): """extract maintab values from scraped channel json data""" main_tab = self.yt_json["header"]["c4TabbedHeaderRenderer"] diff --git a/tubearchivist/home/src/index/reindex.py b/tubearchivist/home/src/index/reindex.py index e79ab30..4434f59 100644 --- a/tubearchivist/home/src/index/reindex.py +++ b/tubearchivist/home/src/index/reindex.py @@ -195,6 +195,10 @@ class Reindex: subscribed = channel.json_data["channel_subscribed"] overwrites = channel.json_data.get("channel_overwrites", False) channel.get_from_youtube() + if not channel.json_data: + channel.deactivate() + return + channel.json_data["channel_subscribed"] = subscribed if overwrites: channel.json_data["channel_overwrites"] = overwrites