Add 'resumen_endpoint.py'

main
Maria Fernanda Lopez 5 months ago
parent b3d20e5e6e
commit e728e1f93e

@ -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()
Loading…
Cancel
Save