Files
openswarm/debugger/build/lib/debugger_backend/debugger_server.py
T

50 lines
1.7 KiB
Python

from flask import Flask, request, jsonify, Response
from flask_cors import CORS
from debugger_backend.project_scanner import update_debug_toggles, dir_to_output_format
import json
import os
NEEDS_RESYNC_FILE = os.path.join(os.path.dirname(__file__), 'needs_resync.txt')
DEBUG_TOGGLE_FILE = os.path.join(os.path.dirname(__file__), 'debug_toggles.json')
app = Flask(__name__)
CORS(app)
@app.route('/pull_structure', methods=['GET'])
def api_get_structure():
print("GET /get_structure")
scanned_dir=update_debug_toggles(save_to_file=True)
# print("\n\nPS scanned_dir: ", scanned_dir)
output = dir_to_output_format(scanned_dir)
output = json.dumps(output, ensure_ascii=False, indent=4)
# print("output: ", output)
return Response(output, mimetype='application/json')
@app.route('/push_structure', methods=['POST'])
def api_push_structure():
print("POST /push_structure")
data = request.get_json()
data = data['projectStructure']
# print(data)
with open(DEBUG_TOGGLE_FILE, 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4)
with open(NEEDS_RESYNC_FILE, 'w') as f:
f.write('1')
return jsonify({"status": "success"})
@app.route('/reset_color', methods=['POST'])
def api_reset_color():
print("POST /reset_color")
scanned_dir=update_debug_toggles(save_to_file=False)
scanned_dir.reset_colors()
# print("RS: scanned_dir: ", scanned_dir)
output = dir_to_output_format(scanned_dir)
output = json.dumps(output, ensure_ascii=False, indent=4)
# print("RS: output: ", output)
return Response(output, mimetype='application/json')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=6969, debug=False)