add get_overwrites and set_overwrites methods for channel

This commit is contained in:
simon 2022-03-12 22:19:42 +07:00
parent 8170d4913b
commit 026cc378fe
No known key found for this signature in database
GPG Key ID: 2C15AA5E89985DD4
2 changed files with 36 additions and 0 deletions

View File

@ -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"
}
}
}
}
},

View File

@ -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