コード例 #1
0
def delete_file(request, id, name):
    fs = FileSystemStorage()
    if not experiment.file_exists(id, name):
        return render(request, '404.html')

    try:
        fs.delete('experiments/' + id + '/' + name)
    except:
        return render(
            request, 'nix/experiment.html', {
                'experiment_id': id,
                'error_message': "The file was not deleted.",
                'transformed_files': experiment.get_json_ld_files(id),
                'nix_transformed':
                experiment.get_nix_transformed_bool_list(id),
                'files': experiment.get_nix_files(id)
            })

    return render(
        request, 'nix/experiment.html', {
            'experiment_id': id,
            'success_message': "The file was deleted.",
            'transformed_files': experiment.get_json_ld_files(id),
            'nix_transformed': experiment.get_nix_transformed_bool_list(id),
            'files': experiment.get_nix_files(id)
        })
コード例 #2
0
def download_file(request, id, name):
    fs = FileSystemStorage()
    if not experiment.file_exists(id, name):
        return render(request, '404.html')

    return FileResponse(fs.open('experiments/' + id + '/' + name, 'rb'),
                        content_type='application/force-download')
コード例 #3
0
def process_query(request, id):
    error_message = ""
    query_result = ""

    file_name = request.POST.get("transformed_file", "")
    if file_name == "" or not experiment.file_exists(id, file_name):
        return render(request, '404.html')

    query = request.POST.get("query", "")

    module_dir = os.path.dirname(__file__)  # get current directory
    file_path = os.path.join(module_dir,
                             '../media/experiments/' + id + '/' + file_name)
    g = Graph()

    try:
        result = g.parse(file_path, format="json-ld")
    except:
        error_message = "Invalid JSON-LD file."

    try:
        query_result = g.query(query)
    except:
        error_message = "An error occurred while executing the query."

    return render(
        request, 'nix/find.html', {
            'error_message': error_message,
            'query': query,
            'experiment_id': id,
            'query_result': query_result,
            'transformed_files': experiment.get_json_ld_files(id),
            'selected_file': file_name
        })
コード例 #4
0
def show_metadata(request, id):
    file_name = request.POST.get("transformed_file", "")

    if file_name == "" or not experiment.file_exists(id, file_name):
        return render(request, '404.html')

    file_content = unicode(experiment.read_file(id, file_name), "utf-8")
    return render(
        request, 'nix/metadata.html', {
            'experiment_id': id,
            'transformed_files': experiment.get_json_ld_files(id),
            'selected_file': file_name,
            'file_content': file_content
        })
コード例 #5
0
def convert_file(request, id, name):
    error_message = ""
    success_message = "The requested experiment has been converted."
    if not experiment.file_exists(id, name):
        return render(request, '404.html')

    if not experiment.convert_metadata(id, name):
        error_message = "An error occurred while converting the file."
        success_message = ""

    return render(
        request, 'nix/experiment.html', {
            'experiment_id': id,
            'error_message': error_message,
            'success_message': success_message,
            'transformed_files': experiment.get_json_ld_files(id),
            'nix_transformed': experiment.get_nix_transformed_bool_list(id),
            'files': experiment.get_nix_files(id)
        })