HBAB commited on
Commit
7892846
·
verified ·
1 Parent(s): 8707ad2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -27
app.py CHANGED
@@ -1,32 +1,25 @@
1
  import gradio as gr
2
- import subprocess
 
 
 
3
 
4
- # Función que usa JSHint a través de subprocess para analizar código JavaScript
5
- def analizar_codigo_js(codigo_js):
6
- # Guardamos el código JS en un archivo temporal
7
- with open("codigo.js", "w") as f:
8
- f.write(codigo_js)
 
 
 
 
 
9
 
10
- try:
11
- # Ejecutar JSHint en el archivo de código JavaScript
12
- result = subprocess.run(["jshint", "codigo.js"], capture_output=True, text=True)
13
-
14
- if result.returncode == 0:
15
- return "No se encontraron errores en el código."
16
- else:
17
- return f"Errores encontrados:\n{result.stderr}"
18
 
19
- except Exception as e:
20
- return f"❌ Error al ejecutar JSHint: {str(e)}"
21
-
22
- # Interfaz Gradio
23
- demo = gr.Interface(
24
- fn=analizar_codigo_js,
25
- inputs=gr.Textbox(lines=15, label="Pega tu código JavaScript aquí"),
26
- outputs=gr.Textbox(label="Resultado del análisis"),
27
- title="🔍 Análisis de Código JavaScript con JSHint",
28
- description="Este espacio usa JSHint para analizar tu código JavaScript."
29
- )
30
 
31
- # Lanzar la aplicación Gradio
32
- demo.launch()
 
1
  import gradio as gr
2
+ from transformers import pipeline
3
+ import pyflakes.api
4
+ from io import StringIO
5
+ import sys
6
 
7
+ # Análisis semántico con modelo Hugging Face
8
+ model = pipeline("text2text-generation", model="Salesforce/codet5-base")
9
+
10
+ def analizar_codigo(code):
11
+ # Análisis de sintaxis
12
+ buffer = StringIO()
13
+ sys.stderr = buffer
14
+ pyflakes.api.check(code, "análisis")
15
+ errores = buffer.getvalue()
16
+ sys.stderr = sys.__stderr__
17
 
18
+ if errores:
19
+ return f"Errores de sintaxis:\n{errores}"
 
 
 
 
 
 
20
 
21
+ # Análisis semántico
22
+ resultado = model(code, max_length=256, do_sample=False)
23
+ return f"Análisis semántico:\n{resultado[0]['generated_text']}"
 
 
 
 
 
 
 
 
24
 
25
+ gr.Interface(fn=analizar_codigo, inputs="text", outputs="text").launch()