AIdeaText commited on
Commit
38e4932
verified
1 Parent(s): 4b4d616

Update modules/database/discourse_mongo_db.py

Browse files
modules/database/discourse_mongo_db.py CHANGED
@@ -70,22 +70,26 @@ def get_student_discourse_analysis(username, limit=10):
70
  logger.info(f"Recuperando an谩lisis de discurso para {username}")
71
 
72
  collection = get_collection(COLLECTION_NAME)
73
- if collection is not None: # CORRECTO
74
  logger.error("No se pudo obtener la colecci贸n")
75
  return []
76
 
77
  query = {"username": username}
78
  documents = list(collection.find(query).sort("timestamp", -1).limit(limit))
79
- logger.info(f"Recuperados {len(documents)} documentos")
80
 
81
  # Decodificar gr谩ficos para uso en la aplicaci贸n
82
  for doc in documents:
83
  for graph_key in ['graph1', 'graph2', 'combined_graph']:
84
  if graph_key in doc and doc[graph_key]:
85
  try:
86
- logger.info(f"Decodificando {graph_key} de base64 a bytes")
87
- doc[graph_key] = base64.b64decode(doc[graph_key])
88
- logger.info(f"{graph_key} decodificado correctamente")
 
 
 
 
89
  except Exception as decode_error:
90
  logger.error(f"Error decodificando {graph_key}: {str(decode_error)}")
91
  doc[graph_key] = None
 
70
  logger.info(f"Recuperando an谩lisis de discurso para {username}")
71
 
72
  collection = get_collection(COLLECTION_NAME)
73
+ if collection is None:
74
  logger.error("No se pudo obtener la colecci贸n")
75
  return []
76
 
77
  query = {"username": username}
78
  documents = list(collection.find(query).sort("timestamp", -1).limit(limit))
79
+ logger.info(f"Recuperados {len(documents)} documentos de an谩lisis de discurso")
80
 
81
  # Decodificar gr谩ficos para uso en la aplicaci贸n
82
  for doc in documents:
83
  for graph_key in ['graph1', 'graph2', 'combined_graph']:
84
  if graph_key in doc and doc[graph_key]:
85
  try:
86
+ # Verificar si es string (base64) y decodificar
87
+ if isinstance(doc[graph_key], str):
88
+ logger.info(f"Decodificando {graph_key} de base64 a bytes")
89
+ doc[graph_key] = base64.b64decode(doc[graph_key])
90
+ logger.info(f"{graph_key} decodificado correctamente, tama帽o: {len(doc[graph_key])} bytes")
91
+ elif not isinstance(doc[graph_key], bytes):
92
+ logger.warning(f"{graph_key} no es ni string ni bytes: {type(doc[graph_key])}")
93
  except Exception as decode_error:
94
  logger.error(f"Error decodificando {graph_key}: {str(decode_error)}")
95
  doc[graph_key] = None