From 026cc378feeb9a726f2d1df6f78e9b808de85798 Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 12 Mar 2022 22:19:42 +0700 Subject: [PATCH] add get_overwrites and set_overwrites methods for channel --- tubearchivist/home/src/es/index_mapping.json | 20 ++++++++++++++++++++ tubearchivist/home/src/index/channel.py | 16 ++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/tubearchivist/home/src/es/index_mapping.json b/tubearchivist/home/src/es/index_mapping.json index f30a82d..5b487ce 100644 --- a/tubearchivist/home/src/es/index_mapping.json +++ b/tubearchivist/home/src/es/index_mapping.json @@ -39,6 +39,16 @@ "channel_last_refresh": { "type": "date", "format": "epoch_second" + }, + "channel_overwrites": { + "properties": { + "format": { + "type": "text" + }, + "autodelete_days": { + "type": "long" + } + } } }, "expected_set": { @@ -102,6 +112,16 @@ "channel_last_refresh": { "type": "date", "format": "epoch_second" + }, + "channel_overwrites": { + "properties": { + "format": { + "type": "text" + }, + "autodelete_days": { + "type": "long" + } + } } } }, diff --git a/tubearchivist/home/src/index/channel.py b/tubearchivist/home/src/index/channel.py index 57a1c4e..3837bcd 100644 --- a/tubearchivist/home/src/index/channel.py +++ b/tubearchivist/home/src/index/channel.py @@ -267,3 +267,19 @@ class YoutubeChannel(YouTubeItem): } all_playlists = IndexPaginate("ta_playlist", data).get_results() return all_playlists + + def get_overwrites(self): + """get all per channel overwrites""" + return self.json_data.get("channel_overwrites", False) + + def set_overwrites(self, overwrites): + """set per channel overwrites""" + valid_keys = ["format", "autodelete_days"] + for key in overwrites: + if key not in valid_keys: + raise ValueError(f"invalid overwrite key: {key}") + + if "channel_overwrites" in self.json_data.keys(): + self.json_data["channel_overwrites"].update(overwrites) + else: + self.json_data["channel_overwrites"] = overwrites