Spaces:
Runtime error
Runtime error
GeneralGost
commited on
Commit
·
20e6f14
1
Parent(s):
94d5b9e
Update app.py
Browse files
app.py
CHANGED
@@ -1,4 +1,6 @@
|
|
1 |
import gradio as gr
|
|
|
|
|
2 |
|
3 |
# Ruta del archivo base en el disco C:
|
4 |
ruta_archivo_base = "blocked_urls.txt"
|
@@ -8,32 +10,51 @@ salida_coincidencias = ""
|
|
8 |
salida_fragmentos = ""
|
9 |
|
10 |
# Función para buscar coincidencias en el archivo de usuario
|
11 |
-
def buscar_coincidencias(archivo_usuario):
|
12 |
global salida_coincidencias, salida_fragmentos
|
13 |
coincidencias = []
|
14 |
fragmentos_coincidentes = []
|
15 |
|
16 |
# Verificar si archivo_usuario es None
|
17 |
-
if archivo_usuario is None:
|
18 |
-
return "No se ha subido ningún archivo.", ""
|
19 |
-
|
20 |
-
# Obtener la ruta local del archivo de usuario
|
21 |
-
ruta_archivo_usuario = archivo_usuario.name
|
22 |
|
23 |
# Leer el contenido del archivo base desde la ruta local (C:)
|
24 |
with open(ruta_archivo_base, 'r', encoding='utf-8') as base_file:
|
25 |
lineas_base = base_file.readlines()
|
26 |
|
27 |
-
#
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
-
#
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
if not coincidencias:
|
39 |
coincidencias.append("No se encontraron coincidencias.")
|
@@ -48,7 +69,8 @@ def buscar_coincidencias(archivo_usuario):
|
|
48 |
interfaz = gr.Interface(
|
49 |
fn=buscar_coincidencias,
|
50 |
inputs=[
|
51 |
-
gr.File(label="Archivo de Usuario (cualquier formato o .py .ipynb)", type="file")
|
|
|
52 |
],
|
53 |
outputs=[
|
54 |
gr.Textbox(label="Código Prohibido", type="text"),
|
@@ -56,7 +78,7 @@ interfaz = gr.Interface(
|
|
56 |
],
|
57 |
live=True,
|
58 |
title="Anti alert Colab SD",
|
59 |
-
description=f"
|
60 |
theme="NoCrypt/miku@>=1.2.2,<2.0.0",
|
61 |
css=".flag-output {display: none !important;}"
|
62 |
)
|
|
|
1 |
import gradio as gr
|
2 |
+
import requests
|
3 |
+
import nbformat
|
4 |
|
5 |
# Ruta del archivo base en el disco C:
|
6 |
ruta_archivo_base = "blocked_urls.txt"
|
|
|
10 |
salida_fragmentos = ""
|
11 |
|
12 |
# Función para buscar coincidencias en el archivo de usuario
|
13 |
+
def buscar_coincidencias(archivo_usuario, url_colab):
|
14 |
global salida_coincidencias, salida_fragmentos
|
15 |
coincidencias = []
|
16 |
fragmentos_coincidentes = []
|
17 |
|
18 |
# Verificar si archivo_usuario es None
|
19 |
+
if archivo_usuario is None and not url_colab:
|
20 |
+
return "No se ha subido ningún archivo ni se ha proporcionado ninguna URL de Colab.", ""
|
|
|
|
|
|
|
21 |
|
22 |
# Leer el contenido del archivo base desde la ruta local (C:)
|
23 |
with open(ruta_archivo_base, 'r', encoding='utf-8') as base_file:
|
24 |
lineas_base = base_file.readlines()
|
25 |
|
26 |
+
# Si se proporcionó una URL de Colab, descargar y leer el cuaderno de Colab
|
27 |
+
if url_colab:
|
28 |
+
# Descargar el cuaderno de Colab
|
29 |
+
response = requests.get(url_colab)
|
30 |
+
response.raise_for_status()
|
31 |
+
|
32 |
+
# Leer el cuaderno de Colab
|
33 |
+
notebook = nbformat.reads(response.text, as_version=4)
|
34 |
+
|
35 |
+
# Buscar coincidencias en las celdas de código del cuaderno
|
36 |
+
for num_celda, celda in enumerate(notebook.cells, start=1):
|
37 |
+
if celda.cell_type == "code":
|
38 |
+
for num_linea_base, linea_base in enumerate(lineas_base, start=1):
|
39 |
+
if linea_base.strip() in celda.source:
|
40 |
+
coincidencias.append(f"Coincidencia en la Celda {num_celda} del Cuaderno de Colab:\n{celda.source.strip()}")
|
41 |
+
fragmentos_coincidentes.append(f"Línea {num_linea_base} (Base):\n{linea_base.strip()}")
|
42 |
|
43 |
+
# Si se subió un archivo de usuario, leer y analizar el archivo
|
44 |
+
if archivo_usuario is not None:
|
45 |
+
# Obtener la ruta local del archivo de usuario
|
46 |
+
ruta_archivo_usuario = archivo_usuario.name
|
47 |
+
|
48 |
+
# Leer el contenido del archivo de usuario desde la ruta local temporal
|
49 |
+
with open(ruta_archivo_usuario, 'r', encoding='utf-8') as usuario_file:
|
50 |
+
lineas_usuario = usuario_file.readlines()
|
51 |
+
|
52 |
+
# Buscar coincidencias en las líneas del archivo
|
53 |
+
for num_linea_usuario, linea_usuario in enumerate(lineas_usuario, start=1):
|
54 |
+
for num_linea_base, linea_base in enumerate(lineas_base, start=1):
|
55 |
+
if linea_base.strip() in linea_usuario:
|
56 |
+
coincidencias.append(f"Coincidencia en Línea {num_linea_usuario} del Archivo Subido:\n{linea_usuario.strip()}")
|
57 |
+
fragmentos_coincidentes.append(f"Línea {num_linea_base} (Base):\n{linea_base.strip()}")
|
58 |
|
59 |
if not coincidencias:
|
60 |
coincidencias.append("No se encontraron coincidencias.")
|
|
|
69 |
interfaz = gr.Interface(
|
70 |
fn=buscar_coincidencias,
|
71 |
inputs=[
|
72 |
+
gr.File(label="Archivo de Usuario (cualquier formato o .py .ipynb)", type="file"),
|
73 |
+
gr.Textbox(label="URL del Cuaderno de Colab", type="url")
|
74 |
],
|
75 |
outputs=[
|
76 |
gr.Textbox(label="Código Prohibido", type="text"),
|
|
|
78 |
],
|
79 |
live=True,
|
80 |
title="Anti alert Colab SD",
|
81 |
+
description=f"Cargue el archivo de su Colab en formato .py o .ipynb o proporcione la URL del cuaderno de Colab para buscar palabras prohibidas por Google en las líneas. Asegúrese de que su cuaderno de Colab esté configurado para ser accesible públicamente.",
|
82 |
theme="NoCrypt/miku@>=1.2.2,<2.0.0",
|
83 |
css=".flag-output {display: none !important;}"
|
84 |
)
|