/
Programmi21
/
demo_integration
Обзор
Документация
Войти
/
Programmi21
/
demo_integration
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
app.py
50 строк
2 KB
Programmi21
create: .cm-token, app.py, docker-compose.yml, Dockerfile, instruction.md, README.md, requirements.txt, task1_cruise.py, task2_visibility.py, task3_constellation.py
10 апр 2026, 16:36
Верифицирован
10 апр 2026, 16:36
01ec612
Код
Авторство
О чём код?
from flask import Flask, request, jsonify from task1_cruise import solve_robinson_cruise from task2_visibility import solve_star_visibility from task3_constellation import solve_constellation_finder app = Flask(__name__) def validate_json(data, required_fields): if not isinstance(data, dict): return False for field in required_fields: if field not in data: return False return True @app.route('/api/v1/robinson_cruise', methods=['POST']) def robinson_cruise(): try: data = request.get_json() if not validate_json(data, ["mass_shuttle", "mass_fuel_unit", "power_per_unit", "oxygen_time", "total_fuel", "fuel_consumption", "bodies", "edges"]): return jsonify({"status": "incorrect_input"}), 400 result = solve_robinson_cruise(data) return jsonify(result), 200 except Exception: return jsonify({"status": "incorrect_input"}), 400 @app.route('/api/v1/star_visibility', methods=['POST']) def star_visibility(): try: data = request.get_json() if not validate_json(data, ["target_star_vector", "celestial_bodies", "observation_params"]): return jsonify({"status": "incorrect_input"}), 400 result = solve_star_visibility(data) return jsonify(result), 200 except Exception: return jsonify({"status": "incorrect_input"}), 400 @app.route('/api/v1/constellation_finder', methods=['POST']) def constellation_finder(): try: data = request.get_json() if not validate_json(data, ["stars", "cluster_params", "target_constellation"]): return jsonify({"status": "incorrect_input"}), 400 result = solve_constellation_finder(data) return jsonify(result), 200 except Exception: return jsonify({"status": "incorrect_input"}), 400 if __name__ == '__main__': app.run(host='0.0.0.0', port=8000)