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