mirror of
https://github.com/openswarm-ai/openswarm.git
synced 2026-08-17 18:25:42 +02:00
50 lines
1.7 KiB
Python
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)
|
|
|
|
|