recuperación repo
recuperación del repositorio anterior ya que se ha perdido.
This commit is contained in:
68
ServerTESTstring/server.py
Normal file
68
ServerTESTstring/server.py
Normal file
@@ -0,0 +1,68 @@
|
||||
import http.server
|
||||
import socketserver
|
||||
from datetime import datetime
|
||||
import locale
|
||||
|
||||
# 1. Configurar la localización a español para abreviaturas correctas
|
||||
# Esto es crucial para que salgan 'Nov', 'Jue', etc., en español.
|
||||
try:
|
||||
locale.setlocale(locale.LC_TIME, 'es_ES.UTF-8')
|
||||
except locale.Error:
|
||||
# Si 'es_ES.UTF-8' falla, prueba otras configuraciones comunes para español
|
||||
try:
|
||||
locale.setlocale(locale.LC_TIME, 'es_ES')
|
||||
except locale.Error:
|
||||
print("Advertencia: No se pudo configurar la localización en español. Las abreviaturas de día/mes podrían salir en inglés.")
|
||||
|
||||
# 2. Definir el puerto y el manejador de peticiones
|
||||
PORT = 8000
|
||||
HOST = "127.0.0.1" # El servidor local
|
||||
|
||||
class DateHandler(http.server.SimpleHTTPRequestHandler):
|
||||
"""Manejador personalizado para devolver la fecha formateada."""
|
||||
|
||||
def do_GET(self):
|
||||
"""Maneja las peticiones GET (las que hará Unreal Engine)."""
|
||||
|
||||
# Patrón de formato deseado: "ma. 13 fefb. 2024"
|
||||
#
|
||||
# Códigos de formato en Python:
|
||||
# %a : Nombre abreviado del día de la semana (e.g., 'Jue')
|
||||
# %d : Día del mes (con cero inicial si es necesario)
|
||||
# %b : Nombre abreviado del mes (e.g., 'Nov')
|
||||
# %Y : Año con siglo
|
||||
|
||||
# Usamos .lower() para asegurar las minúsculas, y luego ajustamos los puntos
|
||||
# La salida hoy sería: "jue. 06 nov. 2025" (la ajustamos un poco)
|
||||
|
||||
now = datetime.now()
|
||||
|
||||
# Formato base (ej: "Jue 06 Nov 2025")
|
||||
formatted_date_str = now.strftime("%a. %d %b. %Y")
|
||||
|
||||
# Convertir a minúsculas para emular "ma." y limpiar/ajustar puntos
|
||||
formatted_date_str = formatted_date_str.lower().replace('.', '').replace(' ', ' ')
|
||||
|
||||
# Ejemplo para hoy: "jue. 06 nov. 2025"
|
||||
final_response = f"{now.strftime('%a').lower().replace('.', '')}. {now.strftime('%d').replace('0', '')} {now.strftime('%b').lower().replace('.', '')}. {now.strftime('%Y')}"
|
||||
|
||||
# 3. Preparar la respuesta HTTP
|
||||
self.send_response(200)
|
||||
self.send_header("Content-type", "text/plain; charset=utf-8")
|
||||
self.end_headers()
|
||||
|
||||
# 4. Enviar la fecha formateada como respuesta
|
||||
self.wfile.write(final_response.encode('utf-8'))
|
||||
|
||||
|
||||
# 5. Levantar el servidor
|
||||
try:
|
||||
with socketserver.TCPServer((HOST, PORT), DateHandler) as httpd:
|
||||
print(f"✅ Servidor local Python levantado en http://{HOST}:{PORT}")
|
||||
print(f"URL de prueba para Unreal Engine: http://{HOST}:{PORT}/")
|
||||
print("Presiona Ctrl+C para detener el servidor.")
|
||||
httpd.serve_forever()
|
||||
except KeyboardInterrupt:
|
||||
print("\nServidor detenido por el usuario.")
|
||||
except Exception as e:
|
||||
print(f"Error al levantar el servidor: {e}")
|
||||
Reference in New Issue
Block a user