GeneralGost's picture
✅ Final Version
1748d61
raw
history blame contribute delete
No virus
2.61 kB
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"<b style='font-size: 18px;'>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.</b>",
theme="NoCrypt/miku@>=1.2.2,<2.0.0",
css=".flag-output {display: none !important;}"
)
# Ejecutar la interfaz de Gradio
interfaz.launch()