extend unsubscribe for channels and playlists

This commit is contained in:
simon 2021-11-25 11:52:14 +07:00
parent 407325e0a9
commit 2ebd0a3e2f
No known key found for this signature in database
GPG Key ID: 2C15AA5E89985DD4
3 changed files with 26 additions and 11 deletions

View File

@ -423,7 +423,6 @@ class PlaylistSubscription:
return False
# update subscribed status
print(f"changing status of {playlist_id} to {subscribe_status}")
headers = {"Content-type": "application/json"}
url = f"{es_url}/ta_playlist/_update/{playlist_id}"
payload = json.dumps(

View File

@ -27,7 +27,11 @@ from home.forms import (
VideoSearchForm,
)
from home.src.config import AppConfig
from home.src.download import ChannelSubscription, PendingList
from home.src.download import (
ChannelSubscription,
PendingList,
PlaylistSubscription,
)
from home.src.helper import RedisArchivist, RedisQueue, UrlListParser
from home.src.index import (
WatchState,
@ -1077,12 +1081,24 @@ class PostData:
return {"success": True}
def unsubscribe(self):
"""unsubscribe from channel"""
channel_id_unsub = self.exec_val
print("unsubscribe from " + channel_id_unsub)
ChannelSubscription().change_subscribe(
channel_id_unsub, channel_subscribed=False
)
"""unsubscribe from channels or playlists"""
id_unsub = self.exec_val
print("unsubscribe from " + id_unsub)
to_unsub_list = UrlListParser(id_unsub).process_list()
for to_unsub in to_unsub_list:
unsub_type = to_unsub["type"]
unsub_id = to_unsub["url"]
if unsub_type == "playlist":
PlaylistSubscription().change_subscribe(
unsub_id, subscribe_status=False
)
elif unsub_type == "channel":
ChannelSubscription().change_subscribe(
unsub_id, channel_subscribed=False
)
else:
raise ValueError("failed to process " + id_unsub)
return {"success": True}
def sort_order(self):

View File

@ -45,10 +45,10 @@ function isUnwatched(youtube_id) {
document.getElementById(youtube_id).replaceWith(unseenIcon);
}
function unsubscribe(channel_id) {
var payload = JSON.stringify({'unsubscribe': channel_id});
function unsubscribe(id_unsub) {
var payload = JSON.stringify({'unsubscribe': id_unsub});
sendPost(payload);
document.getElementById(channel_id).remove();
document.getElementById(id_unsub).remove();
}
function changeView(image) {