File size: 2,097 Bytes
2d73b8f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from datetime import datetime
import pytz
import os

def imprimeTime(): 
    """
    Devuelve la fecha y hora actual en la zona horaria de la Ciudad de México (GMT-6).
    """
    # 1. Definir la zona horaria de la Ciudad de México
    # Puedes usar 'America/Mexico_City' para que pytz maneje el horario de verano automáticamente.
    mexico_city_tz = pytz.timezone('America/Mexico_City')

    # 2. Obtener la hora actual en UTC
    utc_now = datetime.now(pytz.utc)

    # 3. Convertir la hora UTC a la zona horaria deseada
    mexico_city_now = utc_now.astimezone(mexico_city_tz)

    # 4. Formatear la fecha y hora
    # El formato que deseas es "YYYY-MM-DD HH:MM:SS"
    formatted_time = mexico_city_now.strftime("%Y-%m-%d %H:%M:%S")

    return formatted_time

def registrar_evento(event_type: str):
    """
    Guarda la fecha y hora actual junto con un tipo de evento
    en un archivo 'registro.txt' en la raíz del proyecto.

    Args:
        event_type (str): Una descripción del tipo de evento a registrar.
    """
    # 1. Obtener la fecha y hora actual en el formato deseado
    fecha = imprimeTime() # Utiliza tu función existente

    # 2. Definir el nombre del archivo de registro
    file_name = "registro.txt"

    # 3. Obtener la ruta completa al archivo en la raíz del proyecto
    # Esto asume que el script que llama a esta función está en la raíz.
    script_dir = os.path.dirname(os.path.abspath(__file__))
    registro_path = os.path.join(script_dir, file_name)

    # 4. Formatear la línea que se guardará en el archivo
    # Puedes elegir el formato que prefieras. Un buen formato sería CSV o algo legible.
    # Por ejemplo: "FECHA_HORA,TIPO_DE_EVENTO\n"
    log_line = f"{fecha},{event_type}\n"

    # 5. Abrir el archivo en modo de añadir ('a') y escribir la línea
    try:
        with open(registro_path, 'a') as f:
            f.write(log_line)
        print(f"[{fecha}] Evento '{event_type}' registrado con éxito en '{registro_path}'")
    except Exception as e:
        print(f"Error al escribir en el archivo de registro '{registro_path}': {e}")