Encode binary

This commit is contained in:
wqy
2023-10-21 10:36:16 +08:00
parent c925e2f1fa
commit 94597a2125
2 changed files with 11 additions and 5 deletions

View File

@@ -115,7 +115,7 @@ def _calculate_service_area(name: str, inp, time_index: int = 0) -> dict[str, li
def calculate_service_area(name: str) -> list[dict[str, list[str]]]: def calculate_service_area(name: str) -> list[dict[str, list[str]]]:
inp = json.loads(run_project(name)) inp = json.loads(run_project(name, True))
result: list[dict[str, list[str]]] = [] result: list[dict[str, list[str]]] = []

View File

@@ -3,6 +3,7 @@ import platform
import os import os
import sys import sys
import json import json
import base64
from typing import Any from typing import Any
sys.path.append("..") sys.path.append("..")
from api import project from api import project
@@ -232,10 +233,13 @@ def dump_report(path: str) -> str:
def dump_output_binary(path: str) -> str: def dump_output_binary(path: str) -> str:
return open(path, 'rb').read() with open(path, 'rb') as f:
data = f.read()
bast64_data = base64.b64encode(data)
return str(bast64_data, 'utf-8')
def run_project(name: str) -> str: def run_project(name: str, readable_output: bool = False) -> str:
if not project.have_project(name): if not project.have_project(name):
raise Exception(f'Not found project [{name}]') raise Exception(f'Not found project [{name}]')
@@ -258,8 +262,10 @@ def run_project(name: str) -> str:
data['simulation_result'] = 'failed' data['simulation_result'] = 'failed'
else: else:
data['simulation_result'] = 'successful' data['simulation_result'] = 'successful'
# data |= _dump_output(opt) if readable_output:
data['output'] = dump_output_binary(opt) data |= _dump_output(opt)
else:
data['output'] = dump_output_binary(opt)
data['report'] = dump_report(rpt) data['report'] = dump_report(rpt)