import gradio as gr # Ruta del archivo base en el disco C: ruta_archivo_base = "blocked_urls.txt" # Variable para almacenar la salida de los cuadros de texto salida_coincidencias = "" salida_fragmentos = "" # Función para buscar coincidencias en el archivo de usuario def buscar_coincidencias(archivo_usuario): global salida_coincidencias, salida_fragmentos coincidencias = [] fragmentos_coincidentes = [] # Verificar si archivo_usuario es None if archivo_usuario is None: return "No se ha subido ningún archivo.", "" # Obtener la ruta local del archivo de usuario ruta_archivo_usuario = archivo_usuario.name # Leer el contenido del archivo base desde la ruta local (C:) with open(ruta_archivo_base, 'r', encoding='utf-8') as base_file: lineas_base = base_file.readlines() # Leer el contenido del archivo de usuario desde la ruta local temporal with open(ruta_archivo_usuario, 'r', encoding='utf-8') as usuario_file: lineas_usuario = usuario_file.readlines() # Buscar coincidencias en las líneas for num_linea_usuario, linea_usuario in enumerate(lineas_usuario, start=1): for num_linea_base, linea_base in enumerate(lineas_base, start=1): if linea_base.strip() in linea_usuario: coincidencias.append(f"Coincidencia en Línea {num_linea_usuario}:\n{linea_usuario.strip()}") fragmentos_coincidentes.append(f"Línea {num_linea_base} (Base):\n{linea_base.strip()}") if not coincidencias: coincidencias.append("No se encontraron coincidencias.") # Actualizar la salida de los cuadros de texto salida_coincidencias = "\n".join(coincidencias) salida_fragmentos = "\n".join(fragmentos_coincidentes) return salida_coincidencias, salida_fragmentos # Configurar la interfaz de Gradio interfaz = gr.Interface( fn=buscar_coincidencias, inputs=[ gr.File(label="Archivo de Usuario (cualquier formato o .py .ipynb)", type="file") ], outputs=[ gr.Textbox(label="Código Prohibido", type="text"), gr.Textbox(label="Fragmentos Coincidentes", type="text") ], live=True, title="Anti alert Colab SD", description=f"Para usar este espacio, revise el archivo README en Files. Cargue el archivo de su Colab en formato .py o .ipynb para buscar palabras prohibidas por Google en las líneas.", theme="NoCrypt/miku@>=1.2.2,<2.0.0", css=".flag-output {display: none !important;}" ) # Ejecutar la interfaz de Gradio interfaz.launch()