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}")