Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -6,24 +6,30 @@ from urllib.parse import urlparse, parse_qs
|
|
6 |
def gmail_interface(accion, parametros):
|
7 |
"""Funci贸n que llama a gmail_tool y formatea la respuesta."""
|
8 |
try:
|
|
|
|
|
|
|
9 |
if parametros: # Si hay par谩metros, verifica si contiene el auth_code
|
10 |
try:
|
11 |
parametros = json.loads(parametros) # Convierte la cadena JSON a un diccionario
|
12 |
-
except json.JSONDecodeError:
|
13 |
-
return "Error
|
14 |
|
15 |
auth_code = parametros.get("auth_code")
|
16 |
if auth_code:
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
pickle
|
|
|
|
|
|
|
24 |
# Vuelve a llamar a gmail_tool para ejecutar la acci贸n original (sin el auth_code)
|
25 |
del parametros["auth_code"] # Eliminar auth_code antes de la siguiente llamada
|
26 |
-
resultado = comunicacion_gmail.gmail_tool(accion, parametros)
|
27 |
else:
|
28 |
resultado = comunicacion_gmail.gmail_tool(accion, parametros)
|
29 |
else: # Si no hay par谩metros, llama a gmail_tool
|
@@ -53,11 +59,11 @@ def gmail_interface(accion, parametros):
|
|
53 |
formatted_storage = f"L铆mite: {storage.get('limit', 'N/A')}\nUso: {storage.get('usage', 'N/A')}\nEn Drive: {storage.get('usageInDrive', 'N/A')}"
|
54 |
return formatted_storage
|
55 |
|
56 |
-
elif "error" in resultado:
|
57 |
-
return f"Error: {resultado['error']}"
|
58 |
-
|
59 |
|
60 |
-
|
|
|
61 |
|
62 |
|
63 |
except Exception as e:
|
|
|
6 |
def gmail_interface(accion, parametros):
|
7 |
"""Funci贸n que llama a gmail_tool y formatea la respuesta."""
|
8 |
try:
|
9 |
+
print(f"Acci贸n recibida: {accion}") # Depuraci贸n
|
10 |
+
print(f"Par谩metros recibidos: {parametros}") # Depuraci贸n
|
11 |
+
|
12 |
if parametros: # Si hay par谩metros, verifica si contiene el auth_code
|
13 |
try:
|
14 |
parametros = json.loads(parametros) # Convierte la cadena JSON a un diccionario
|
15 |
+
except json.JSONDecodeError as e:
|
16 |
+
return f"Error al decodificar JSON: {e}"
|
17 |
|
18 |
auth_code = parametros.get("auth_code")
|
19 |
if auth_code:
|
20 |
+
print(f"Auth code recibido: {auth_code}") # Depuraci贸n
|
21 |
+
try:
|
22 |
+
flow = InstalledAppFlow.from_client_secrets_file(
|
23 |
+
'credentials.json', comunicacion_gmail.SCOPES) # Accede a SCOPES desde comunicacion_gmail
|
24 |
+
flow.fetch_token(code=auth_code)
|
25 |
+
creds = flow.credentials
|
26 |
+
with open('token.pickle', 'wb') as token:
|
27 |
+
pickle.dump(creds, token)
|
28 |
+
except Exception as e:
|
29 |
+
return f"Error en la autorizaci贸n OAuth: {e}"
|
30 |
# Vuelve a llamar a gmail_tool para ejecutar la acci贸n original (sin el auth_code)
|
31 |
del parametros["auth_code"] # Eliminar auth_code antes de la siguiente llamada
|
32 |
+
resultado = comunicacion_gmail.gmail_tool(accion, parametros)
|
33 |
else:
|
34 |
resultado = comunicacion_gmail.gmail_tool(accion, parametros)
|
35 |
else: # Si no hay par谩metros, llama a gmail_tool
|
|
|
59 |
formatted_storage = f"L铆mite: {storage.get('limit', 'N/A')}\nUso: {storage.get('usage', 'N/A')}\nEn Drive: {storage.get('usageInDrive', 'N/A')}"
|
60 |
return formatted_storage
|
61 |
|
62 |
+
elif "error" in resultado:
|
63 |
+
return f"Error en gmail_tool: {resultado['error']}" # Muestra el error de gmail_tool
|
|
|
64 |
|
65 |
+
else:
|
66 |
+
return str(resultado) # Respuesta por defecto
|
67 |
|
68 |
|
69 |
except Exception as e:
|