import logging import io import base64 import matplotlib.pyplot as plt from ..text_analysis.semantic_analysis import perform_semantic_analysis from .flexible_analysis_handler import FlexibleAnalysisHandler logger = logging.getLogger(__name__) def encode_image_to_base64(image_data): return base64.b64encode(image_data).decode('utf-8') def process_semantic_analysis(file_contents, nlp_model, lang_code): logger.info(f"Starting semantic analysis processing for language: {lang_code}") try: result = perform_semantic_analysis(file_contents, nlp_model, lang_code) concept_graph = result['concept_graph'] entity_graph = result['entity_graph'] key_concepts = result['key_concepts'] # Convertir los gráficos a base64 concept_graph_base64 = encode_image_to_base64(concept_graph) entity_graph_base64 = encode_image_to_base64(entity_graph) logger.info("Semantic analysis processing completed successfully") logger.debug(f"Concept graph base64 (first 100 chars): {concept_graph_base64[:100]}") return concept_graph_base64, entity_graph_base64, key_concepts except Exception as e: logger.error(f"Error in semantic analysis processing: {str(e)}") return None, None, [] ''' logger = logging.getLogger(__name__) logging.basicConfig(level=logging.DEBUG) def process_semantic_analysis(file_contents, nlp_model, lang_code): logger.info(f"Starting semantic analysis for language: {lang_code}") try: logger.debug("Calling perform_semantic_analysis") result = perform_semantic_analysis(file_contents, nlp_model, lang_code) logger.debug(f"Result keys: {result.keys()}") logger.debug(f"Type of concept_graph: {type(result['concept_graph'])}") logger.debug(f"Type of entity_graph: {type(result['entity_graph'])}") logger.debug(f"Number of key_concepts: {len(result['key_concepts'])}") logger.info("Semantic analysis completed successfully") return result['concept_graph'], result['entity_graph'], result['key_concepts'] except Exception as e: logger.error(f"Error in semantic analysis: {str(e)}") raise '''