go_api_w_raw.py 1.5 KB

123456789101112131415161718192021222324252627
  1. from .tool.func import *
  2. def api_w_raw(name = 'Test', rev = '', exist_check = ''):
  3. with get_db_connect() as conn:
  4. other_set = {}
  5. other_set["name"] = name
  6. other_set["rev"] = str(rev)
  7. other_set["exist_check"] = exist_check
  8. other_set = json.dumps(other_set)
  9. if acl_check(conn, name, 'render') != 1:
  10. if platform.system() == 'Linux':
  11. if platform.machine() in ["AMD64", "x86_64"]:
  12. data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.amd64.bin"), sys._getframe().f_code.co_name, other_set], stdout = subprocess.PIPE).communicate()[0]
  13. else:
  14. data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.arm64.bin"), sys._getframe().f_code.co_name, other_set], stdout = subprocess.PIPE).communicate()[0]
  15. else:
  16. if platform.machine() in ["AMD64", "x86_64"]:
  17. data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.amd64.exe"), sys._getframe().f_code.co_name, other_set], stdout = subprocess.PIPE).communicate()[0]
  18. else:
  19. data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.arm64.exe"), sys._getframe().f_code.co_name, other_set], stdout = subprocess.PIPE).communicate()[0]
  20. data = data.decode('utf8')
  21. return flask.Response(response = data, status = 200, mimetype = 'application/json')
  22. else:
  23. return flask.jsonify({})