Revisión del complemento Generador QR

4 views
Skip to first unread message

Javi Domínguez

unread,
Jan 22, 2026, 5:51:57 PM (10 days ago) Jan 22
to nvd...@googlegroups.com

Hola. Aquí va la revisión:


Revisión del complemento Generador QR

https://github.com/dennissolis28/Generador-QR/

Para esta revisión se sigue la Guía de revisión de complementos de la comunidad de NVDA en español. Se indican los puntos que necesitan atención, los puntos no indicados en la revisión son correctos o no aplicables.

0. Estructura del complemento

La estructura de archivos en el repositorio no es correcta.

  • Hay un archivo __init__.py vacío.
  • En el manifiesto faltan algunos campos como url, docFileName y updateChannel.

Debería usar la plantilla estándar.

1. Licencia y copyright

No hay cabeceras de licencia (1.2). Los archivos .py deberían incluir algunas líneas como estas:

# <nombre del complemento> add-on for NVDA
# This file is covered by the GNU General Public License.
# See the file COPYING.txt for more details.
# Copyright (C) 2020 Pepe Pérez <pepe....@nvda.es>

También debería haber una copia de la licencia (archivo COPYING.txt) en el repositorio o en el paquete nvda-addon (1.1).

El complemento usa varios módulos de terceros (1.3): Colorama, Pillow y QRCode. Cada uno incluye su correspondiente licencia en su carpeta. No es necesario, creo, pero a mí me gusta incluir una referencia a estas licencias en el encabezado de mis archivos py.

Seguridad

El complemento usa un archivo binario globalPlugins\lib\bin\qr.exe del que no se proporciona el código fuente. Virus Total no detecta nada extraño en él. Parece que es el wrapper que Windows crea para ejecutar el script qr del paquete qrcode. Por lo que he investigado el módulo qrcode está escrito en Python puro por lo que no se necesitaría incluir ningún binario en el complemento. Tampoco encuentro ninguna llamada a subproceso ni nada en el código y el complemento parece funcionar sin él, al menos no da error. Es recomendable no usar binarios en los complementos si no son estrictamente necesarios.

El módulo colorama no sé qué función tiene aquí. No parece ser una dependencia ni de qrcode ni de pillow. Creo que es algo del texto en la terminal pero el complemento no tiene nada que ver con eso. PIL (Pillow) sí es una dependencia de qrcode y necesario para generar la imagen png pero no hace falta importarlo (línea 17 de qr.py), lo usa qrcode internamente.

Por otro lado, debería bloquearse la ejecución en pantallas seguras (2.4).

4. Documentación

El complemento no incluye ninguna documentación ni archivo readme. El script tampoco tiene el atributo __doc__ que permite que la ayuda de entrada verbalice su función.

5. Experiencia de usuario

  • Las cadenas de texto no son traducibles (5.1), ni en el diálogo de guardar ni en los ui.message.
  • La combinación control+shift+q es demasiado común y puede generar conflictos con atajos de alguna aplicación (5.5). Además no incluye la tecla NVDA como es recomendable (5.9) ni puede ser modificada en las preferencias de NVDA.
  • La entrada del texto desde portapapeles no me parece el método más adecuado. Sería mejor un diálogo con un cuadro de edición.
  • No he conseguido obtener un resultado correcto. Al escanear el código generado sólo parece contener una url que no tiene nada que ver con el texto que yo tenía en el portapapeles. Pero eso puede ser problema mío, no tengo ninguna aplicación para decodificar directamente el archivo png, en pantalla no consigo enfocarlo y no lo he impreso en papel para probarlo.

6. Funcionamiento interno

No he hecho una revisión de estilo completa. El código en general está bien escrito. Sólo movería la importación de queueHandler al principio y eliminaría la importación de PIL que no es necesaria.

Como no tiene cadenas traducibles tampoco tiene comentarios para traductores (6.1) ni archivo


-- 

Un saludo.
OpenPGP_signature.asc

Javi Domínguez

unread,
Jan 22, 2026, 5:58:07 PM (10 days ago) Jan 22
to nvd...@googlegroups.com

Disculpas, se me cortó el texto antes del final. Lo pego a continuación:


Como no tiene cadenas traducibles tampoco tiene comentarios para traducgtores (6.1) ni archivo buildVars.py en el que declarar el idioma base (6.2).

## Conclusión 
El complemento me gusta, es útil, pero todavía no está listo para ser publicado. Necesita mejorar los aspectos indicados en esta revisión y someterse a más pruebas de betatesters para confirmar que el código generado es correcto. 

OpenPGP_signature.asc
Reply all
Reply to author
Forward
0 new messages