def overrides_delete(path): if not request.user.can_manage: return abort(403) separator = "/" repo_path, overrides_path = file_utils.split_url_path(path) repo = get_target_for(repo_path) if not isinstance(repo, Repository): return abort(404) return_path_parts = path.split(separator) return_path = separator.join(return_path_parts[:-1]) cwd = os.path.join(utils.get_override_path(repo), overrides_path.replace('/', os.sep)) session['errors'] = [] try: file_utils.delete(cwd) utils.flash('Object was deleted.') except BaseException as exc: app.logger.info(exc) session['errors'].append('Could not delete \'' + return_path_parts[-1] + '\'.') return redirect(url_for('overrides_list', path=return_path))
def remove_keypair(path): if not request.user.can_manage: return abort(403) repo = get_target_for(path) if not isinstance(repo, Repository): return abort(404) session['errors'] = [] private_key_path = utils.get_repo_private_key_path(repo) public_key_path = utils.get_repo_public_key_path(repo) try: file_utils.delete(private_key_path) file_utils.delete(public_key_path) utils.flash('SSH keypair removed.') except BaseException as exc: app.logger.info(exc) session['errors'].append('Could not remove SSH keypair.') return redirect(url_for('edit_repo', repo_id=repo.id))