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 |
-
|
|
|
|
|
|
|
|
|
|
| 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:
|