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)
|
channel = common.ycdldb.add_channel(channel_id, get_videos=True)
|
||||||
return jsonify.make_json_response(ycdl.jsonify.channel(channel))
|
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'])
|
@site.route('/channel/<channel_id>/refresh', methods=['POST'])
|
||||||
def post_refresh_channel(channel_id):
|
def post_refresh_channel(channel_id):
|
||||||
force = request.form.get('force', False)
|
force = request.form.get('force', False)
|
||||||
|
|
|
@ -12,6 +12,14 @@ function add_channel(channel_id, callback)
|
||||||
return common.post(url, data, 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 =
|
api.channels.refresh_channel =
|
||||||
function refresh_channel(channel_id, force, callback)
|
function refresh_channel(channel_id, force, callback)
|
||||||
{
|
{
|
||||||
|
@ -39,6 +47,19 @@ function set_automark(channel_id, state, callback)
|
||||||
return common.post(url, data, 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 = {};
|
api.videos = {};
|
||||||
|
|
||||||
|
|
|
@ -226,6 +226,12 @@ https://stackoverflow.com/a/35153397
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="toolbox_right">
|
<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>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -298,6 +304,11 @@ var DOWNLOAD_FILTER = "{{download_filter if download_filter else ""}}";
|
||||||
var video_card_first_selected = null;
|
var video_card_first_selected = null;
|
||||||
var video_card_selections = [];
|
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)
|
function refresh_channel_form(force)
|
||||||
{
|
{
|
||||||
console.log(`Refreshing channel ${CHANNEL_ID}, force=${force}.`);
|
console.log(`Refreshing channel ${CHANNEL_ID}, force=${force}.`);
|
||||||
|
|
Loading…
Reference in a new issue