Example #1
0
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))
Example #2
0
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))