from flask import jsonify from flask import request import traceback from analyzer.app import application from analyzer.logic import audio @application.route('/hello', methods=['GET']) def hello(): return jsonify({'foo': 'bar'}) @application.route('/analysis', methods=['POST']) def analyze(): try: request_data = request.get_json() if not request_data: return response_invalid('No JSON data in request body') audio_url = request_data.get('url') if not audio_url: return response_invalid('Missing url') analysis_result = audio.analyze_audio(audio_url) return jsonify(analysis_result), 200 except Exception as e: return response_error(traceback.format_exc()) def response_invalid(error_message): return jsonify({'error': error_message}), 400 def response_error(error_message): return jsonify({'error': error_message}), 500