Files
IPSExtractor/docs/gui/view.md
T

1.1 KiB

gui/view.py

Propósito

Vista principal basada en customtkinter que define la interfaz de procesamiento y expone métodos para enlazar callbacks y comunicar estado.

API pública

class InvoiceAppView

  • set_on_select_root(cb), set_on_process(cb), set_on_select_csv(cb)
  • Getters: get_root_path(), get_keywords(), get_fields(), get_csv_path()
  • Output: append_output(text), append_output_safe(text)
  • Estado: set_processing(bool)

Keywords / patrones de archivos

  • En la pestaña principal, cada Tipo de Documento tiene un campo de Keyword/Patrón.
  • Se aceptan tanto palabras simples (sin * ni ?) como patrones tipo Windows con * y ?.
  • Si el patrón no incluye extensión, se aplica sobre el nombre sin extensión y solo se consideran archivos .pdf, .tif, .tiff.
  • Si el patrón incluye extensión válida (p. ej. *_OK?.pdf), se aplica sobre el nombre completo respetando esa extensión.

Ejemplo

from gui.view import InvoiceAppView

view = InvoiceAppView()
view.set_on_process(lambda: print("Procesar!"))
view.mainloop()