コード例 #1
0
ファイル: app.py プロジェクト: yusukhobok/GPRstorage
def get_project(project_id: int):
    import projectmanager
    project = projectmanager.get_project(project_id)
    if project is not None:
        return jsonify(project.serialize)
    else:
        abort(500, f"There is no project with project_id={project_id}")
コード例 #2
0
ファイル: app.py プロジェクト: yusukhobok/GPRstorage
def get_radargrams(project_id: int):
    import projectmanager, radargramsmanager
    project = projectmanager.get_project(project_id)
    if project is not None:
        radargrams = radargramsmanager.get_radargrams(project_id)
        return jsonify(
            {"radargrams": [radargram.serialize for radargram in radargrams]})
    else:
        abort(500, f"There is no project with project_id={project_id}")
コード例 #3
0
ファイル: app.py プロジェクト: yusukhobok/GPRstorage
def delete_radargram(project_id: int, radargram_id: int):
    import projectmanager, radargramsmanager
    project = projectmanager.get_project(project_id)
    if project is not None:
        ok = radargramsmanager.delete_radargram(project_id, radargram_id)
        if ok:
            return "Delete successfully"
        else:
            abort(500, "Refuse deleting radargram")
    else:
        return jsonify(
            {"Error": f"There is no project with project_id={project_id}"})
コード例 #4
0
ファイル: app.py プロジェクト: yusukhobok/GPRstorage
def get_radargram_link(project_id: int, radargram_id: int):
    import projectmanager, radargramsmanager
    project = projectmanager.get_project(project_id)
    if project is not None:
        link = radargramsmanager.get_radargram_link(project_id, radargram_id)
        if link is not None:
            return link
        else:
            abort(500,
                  f"There is no radargram with radargram_id={radargram_id}")
    else:
        abort(500, f"There is no project with project_id={project_id}")
コード例 #5
0
ファイル: app.py プロジェクト: yusukhobok/GPRstorage
def get_radargram(project_id: int, radargram_id: int):
    import projectmanager, radargramsmanager
    project = projectmanager.get_project(project_id)
    if project is not None:
        radargram = radargramsmanager.get_radargram(project_id, radargram_id)
        if radargram is not None:
            return jsonify(radargram.serialize)
        else:
            abort(500,
                  f"There is no radargram with radargram_id={radargram_id}")
    else:
        abort(500, f"There is no project with project_id={project_id}")
コード例 #6
0
ファイル: app.py プロジェクト: yusukhobok/GPRstorage
def get_traces_headers(project_id: int, radargram_id: int):
    import projectmanager, radargramsmanager
    project = projectmanager.get_project(project_id)
    if project is not None:
        radargram = radargramsmanager.get_radargram(project_id, radargram_id)
        if radargram is not None:
            traces = radargramsmanager.get_traces_headers(
                project_id, radargram_id)
            return jsonify({"traces": [trace.serialize for trace in traces]})
        else:
            abort(500,
                  f"There is no radargram with radargram_id={radargram_id}")
    else:
        abort(500, f"There is no project with project_id={project_id}")
コード例 #7
0
ファイル: app.py プロジェクト: yusukhobok/GPRstorage
def get_traces_amplitudes(project_id: int, radargram_id: int, start_num: int,
                          finish_num: int, stage: int):
    import projectmanager, radargramsmanager
    project = projectmanager.get_project(project_id)
    if project is not None:
        radargram = radargramsmanager.get_radargram(project_id, radargram_id)
        if radargram is not None:
            traces = radargramsmanager.get_traces_amplitudes(
                project_id, radargram_id, start_num, finish_num, stage)
            return jsonify(
                {"amplitudes": [list(trace.amplitudes) for trace in traces]})
        else:
            abort(500,
                  f"There is no radargram with radargram_id={radargram_id}")
    else:
        abort(500, f"There is no project with project_id={project_id}")
コード例 #8
0
ファイル: app.py プロジェクト: yusukhobok/GPRstorage
def get_traces(project_id: int, radargram_id: int, trace_id: int):
    import projectmanager, radargramsmanager
    project = projectmanager.get_project(project_id)
    if project is not None:
        radargram = radargramsmanager.get_radargram(project_id, radargram_id)
        if radargram is not None:
            trace = radargramsmanager.get_trace(project_id, radargram_id,
                                                trace_id)
            if trace is not None:
                data = trace.serialize
                data.update({"amplitudes": list(trace.amplitudes)})
                return jsonify(data)
            else:
                abort(500, f"There is no trace with trace_id={trace_id}")
        else:
            abort(500,
                  f"There is no radargram with radargram_id={radargram_id}")
    else:
        abort(500, f"There is no project with project_id={project_id}")
コード例 #9
0
ファイル: app.py プロジェクト: yusukhobok/GPRstorage
def add_radargram(project_id: int):
    import projectmanager, radargramsmanager
    project = projectmanager.get_project(project_id)
    if project is not None:
        if 'datafile' not in request.files:
            abort(403, "File is not send (1)")
        file = request.files['datafile']
        if not file:
            abort(404, "File is not send (2)")
        name = os.path.basename(file.filename)
        filename = translit(file.filename, 'ru', reversed=True)
        filename = secure_filename(filename)
        filename = os.path.join(f"{g.user.id}_{project_id}_{filename}")

        radargram = radargramsmanager.add_radargram(project_id, name, file,
                                                    filename)
        if radargram is not None:
            return jsonify(radargram.serialize)
        else:
            abort(500, "Refuse adding radargram")
    else:
        return jsonify(
            {"Error": f"There is no project with project_id={project_id}"})