from datetime import datetime import fireWhale 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(cus: str, tokens: int): """ Registra los tokens correspondientes a la compra realizada por el usuario. Args: cus (str): customer de stripe. """ # 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},{cus}\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}") resultado = fireWhale.encontrar_documento_por_cus(cus) # print("Ésto es el resultado de buscar el cus:") # print(resultado) fireWhale.editaDato('usuarios', resultado, 'tokens', tokens) fireWhale.incrementar_campo_numerico('usuarios', resultado, 'tokens', amount=tokens)