Skip to content

[IMP] escpos_driver: Windows support and robustness + PR158 distribution - #160

Closed
dreispt wants to merge 12 commits into
pywebdriver:masterfrom
dreispt:dr-fix-windows-dev-build
Closed

[IMP] escpos_driver: Windows support and robustness + PR158 distribution#160
dreispt wants to merge 12 commits into
pywebdriver:masterfrom
dreispt:dr-fix-windows-dev-build

Conversation

@dreispt

@dreispt dreispt commented Jun 19, 2026

Copy link
Copy Markdown
  • Try to detect if a printer is still available instead of permanent disconnecting it
  • Remove the is_online check because of a 1s delay conflicting with request timeout
  • Use USB vendor and product to check availability
  • Take device_type into account for available check of printer
  • Try reopening usb device if it was disconnected
  • Check for the idVendor attribute to ensure the USB device was opened before
  • Fix pre-commit CI
  • [ADD] windows: configurador grafico con PyWebView
  • Fix running from source code on Windows
  • [IMP] escpos_driver: Windows support and robustness

fkantelberg and others added 12 commits August 17, 2023 16:04
Reemplaza el flujo silencioso de instalacion (.bat ocultos) por un
configurador GUI moderno (PyWebView + HTML/CSS/JS) que permite al
usuario:
- Seleccionar idioma (es/en) y parametros de red (host, puerto, CORS)
- Activar/desactivar drivers con descripcion de cada uno
- Configurar cada driver activado con formularios dinamicos
- Detectar hardware: impresoras Win32, puertos COM y dispositivos USB
- Generar certificados SSL con mkcert con un solo clic
- Instalar/iniciar/parar/desinstalar el servicio Windows via NSSM

Modo silencioso (--silent) disponible para deploys masivos: escribe
config.ini con defaults e instala el servicio sin abrir UI.

PyInstaller empaqueta ahora dos ejecutables en la misma carpeta:
pywebdriver.exe (servicio, sin cambios funcionales) y
pywebdriver-configurator.exe (UI con uac_admin para gestionar el
servicio).

Eliminacion de codigo obsoleto:
- install.bat, uninstall.bat, generate_certificate.bat (reemplazados
  por el configurador, que ofrece la misma funcionalidad con UI y
  mejor manejo de errores)
- El desinstalador llama ahora a 'configurator --uninstall --remove-ssl'

Mejora de updates:
- config.ini se marca con onlyifdoesntexist para preservar la
  configuracion del usuario al actualizar la version

InnoSetup ofrece tareas opcionales para abrir el wizard al finalizar
o aplicar defaults silenciosamente, y anade entradas de menu inicio
para reabrir el configurador en cualquier momento.
- Make netifaces optional with socket fallback for IP detection
- Handle missing USB backend gracefully
- Assume win32/serial printers available by default
- Close win32 printer after each job to flush spooler
- Print JPEG images directly via python-escpos to avoid blocking
- Add close_printer() helper for win32 cleanup
- Simplify status logic and remove nested conditionals

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@dreispt dreispt closed this Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants