Add endpoint and gui button for deleting channels.
This commit is contained in:
parent
e42e4cac55
commit
b660d700b9
3 changed files with 42 additions and 0 deletions
|
@ -90,6 +90,16 @@ def post_add_channel():
|
|||
channel = common.ycdldb.add_channel(channel_id, get_videos=True)
|
||||
return jsonify.make_json_response(ycdl.jsonify.channel(channel))
|
||||
|
||||
@site.route('/channel/<channel_id>/delete', methods=['POST'])
|
||||
def post_delete_channel(channel_id):
|
||||
try:
|
||||
channel = common.ycdldb.get_channel(channel_id)
|
||||
except ycdl.exceptions.NoSuchChannel as exc:
|
||||
return jsonify.make_json_response(ycdl.jsonify.exception(exc), status=404)
|
||||
|
||||
channel.delete()
|
||||
return jsonify.make_json_response({})
|
||||
|
||||
@site.route('/channel/<channel_id>/refresh', methods=['POST'])
|
||||
def post_refresh_channel(channel_id):
|
||||
force = request.form.get('force', False)
|
||||
|
|
|
@ -12,6 +12,14 @@ function add_channel(channel_id, callback)
|
|||
return common.post(url, data, callback);
|
||||
}
|
||||
|
||||
api.channels.delete_channel =
|
||||
function delete_channel(channel_id, callback)
|
||||
{
|
||||
var url = `/channel/${channel_id}/delete`;
|
||||
data = new FormData();
|
||||
return common.post(url, data, callback);
|
||||
}
|
||||
|
||||
api.channels.refresh_channel =
|
||||
function refresh_channel(channel_id, force, callback)
|
||||
{
|
||||
|
@ -39,6 +47,19 @@ function set_automark(channel_id, state, callback)
|
|||
return common.post(url, data, callback);
|
||||
}
|
||||
|
||||
api.channels.callback_go_to_channels =
|
||||
function callback_go_to_channels(response)
|
||||
{
|
||||
if (response.meta.status === 200)
|
||||
{
|
||||
window.location.href = "/channels";
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log(response);
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************************************/
|
||||
api.videos = {};
|
||||
|
||||
|
|
|
@ -226,6 +226,12 @@ https://stackoverflow.com/a/35153397
|
|||
</div>
|
||||
|
||||
<div id="toolbox_right">
|
||||
{% if channel is not none %}
|
||||
<button class="red_button button_with_confirm"
|
||||
data-prompt="Delete channel and all videos?"
|
||||
data-onclick="delete_channel_form();"
|
||||
>Delete Channel</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -298,6 +304,11 @@ var DOWNLOAD_FILTER = "{{download_filter if download_filter else ""}}";
|
|||
var video_card_first_selected = null;
|
||||
var video_card_selections = [];
|
||||
|
||||
function delete_channel_form()
|
||||
{
|
||||
api.channels.delete_channel(CHANNEL_ID, api.channels.callback_go_to_channels);
|
||||
}
|
||||
|
||||
function refresh_channel_form(force)
|
||||
{
|
||||
console.log(`Refreshing channel ${CHANNEL_ID}, force=${force}.`);
|
||||
|
|
Loading…
Reference in a new issue