Skip to content

App standalone de validação de pacote SPS (spsvalidator) #5

Description

@gitnnolabs

Descrição da nova funcionalidade

Eu, como editor/revisor de XML SPS que trabalha em desktop ou offline, gostaria de uma aplicação autônoma para validar pacotes SPS (.zip) sem depender do servidor Django/Wagtail nem de Celery, então consigo validar pacotes localmente, com histórico e export dos resultados, mesmo sem infraestrutura de servidor.

Critérios de aceitação

  • A aplicação roda de forma isolada e auto-suficiente em apps/spsvalidator, com pyproject.toml próprio (Flask + Pywebview + SQLite + packtools) e não depende do projeto Django principal nem de Celery.
  • Permite upload de um pacote .zip e executa a validação via packtools, exibindo os resultados na interface.
  • Oferece modo desktop (janela Pywebview) e modo navegador (spsvalidator --browser em http://127.0.0.1:5000).
  • Persiste o histórico de validações localmente em SQLite (~/.spsvalidator/spsvalidator.sqlite3).
  • Permite exportar os resultados em CSV.
  • Suporta internacionalização das mensagens da interface.
  • Fornece scripts de empacotamento por sistema operacional (macOS, Linux, Windows) que geram o executável/instalador.
  • Possui testes automatizados que rodam de forma isolada (pytest dentro de apps/spsvalidator), incluindo a fixture XML necessária.
  • Não versiona artefatos de build (ex.: *.egg-info/, dist/, build/).

Subtarefas

  • Disponibilizar o app standalone em apps/spsvalidator (estrutura src/, pyproject.toml).
  • Implementar upload + validação de pacote .zip via packtools.
  • Implementar persistência local (SQLite) e listagem do histórico.
  • Implementar export CSV dos resultados.
  • Implementar modos desktop (Pywebview) e navegador (Flask).
  • Adicionar i18n da interface.
  • Adicionar scripts de empacotamento (macOS/Linux/Windows) + spec PyInstaller.
  • Garantir suíte de testes isolada (incluir fixture tests/fixtures/dias_2023.xml).
  • Ajustar .gitignore/stage para excluir *.egg-info/ e demais artefatos de build.

Anexos

N/A

Referências

  • packtools 4.12.6 (scieloorg/packtools)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request
No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions