From e728e1f93e521667d5f2db0cabc3524aeac410da Mon Sep 17 00:00:00 2001 From: Maria Fernanda Lopez Date: Mon, 2 Dec 2024 19:16:45 +0000 Subject: [PATCH] Add 'resumen_endpoint.py' --- resumen_endpoint.py | 53 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 resumen_endpoint.py diff --git a/resumen_endpoint.py b/resumen_endpoint.py new file mode 100644 index 0000000..b41b87d --- /dev/null +++ b/resumen_endpoint.py @@ -0,0 +1,53 @@ +from http.server import BaseHTTPRequestHandler, HTTPServer +import subprocess +import urllib.parse + +# Configurar el puerto del servidor +PORT = 8788 + +class RequestHandler(BaseHTTPRequestHandler): + def do_GET(self): + # Parsear los parámetros de la URL + parsed_url = urllib.parse.urlparse(self.path) + query_params = urllib.parse.parse_qs(parsed_url.query) + + # Obtener el parámetro recording_id + recording_id = query_params.get('recording_id', [None])[0] + + if recording_id: + # Ejecutar el script con el parámetro recording_id + try: + result = subprocess.run( + ["sudo", "python3", "/home/resume_end_call.py", recording_id], + capture_output=True, + text=True + ) + # Concatenar stdout y stderr + output = f"STDOUT:\n{result.stdout}\n\nSTDERR:\n{result.stderr}" + # Responder con el resultado + self.send_response(200) + self.send_header("Content-type", "text/plain") + self.end_headers() + self.wfile.write(result.stdout.encode()) + except Exception as e: + # Manejar errores de ejecución + self.send_response(500) + self.send_header("Content-type", "text/plain") + self.end_headers() + self.wfile.write(f"Error executing script: {str(e)}".encode()) + else: + # Manejar el caso de parámetro faltante + self.send_response(400) + self.send_header("Content-type", "text/plain") + self.end_headers() + self.wfile.write(b"Missing 'recording_id' parameter") + +# Configurar y ejecutar el servidor +def run(server_class=HTTPServer, handler_class=RequestHandler): + server_address = ("", PORT) + httpd = server_class(server_address, handler_class) + print(f"Server running on port {PORT}...") + httpd.serve_forever() + +if __name__ == "__main__": + run()