Para el TODO:
- In the account tree, a parent account must show, in the "Total"
column, its Reference total, in italic.
- In the Entries report panel, must exist, as a last line, a total of
each of the three columns, be it a parent or child account, in bold,
with a "Total" string in the Description column.
- When the GUI opens a project, must keep a copy of it: "proj" -> ".proj.bk=
up"
- For File.New: It should ask for the project name, but not save the
empty project.
- Bug: No sale el cartel de "No imputable" para la cuenta padre...
Preferences
-----------
(esto ponerlo en consideraciones.txt y separarlo en las entradas del
TODO que corresponda)
- Global
Un archivo oculto en el home que sea textual, editable por el humano.
La GUI al arrancar lo tiene que levantar a un diccionario, y se
tiene que poder grabar ese diccionario en cualquier momento de nuevo
al archivo textual. Estas configuraciones son grabadas automaticamente
por la GUI (como el tama=F1o de la ventana) al cerrarse; queda por ver
si alguna de estas configuraciones ser=E1n editables explicitamente por
el usuario a traves de la interfaz.
El diccionario es "globalPreferences".
- Per project
Se grabar=E1 en cada proyecto, dentro del configControlador.
Lo levanta el controlador cuando se carga, y se persistir=E1 cuando
se graba el configControlador junto con el resto de los controladores.
El diccionario esta adentro del controlador y se llama
projectConfig (quedar=EDa accesible como ctrl['config'].projectConfig).
Crash support, logging and debug
--------------------------------
- Cada vez que se llama al core, se debe encerrar en un try/except, y
si tenemos una excepci=F3n, le abriremos un pop-up al usuario con toda
la info posible.
- Si el programa es ejecutado normalmente, el pop-up tendr=E1 un boton
de "Salir del programa", el cual cortar=E1 todo en lo posible con la
excepci=F3n original. Se tiene que grabar el proyecto con el mismo
nombre m=E1s un ".crash" al final, y se debe informar al usuario de esto
en el pop-up. Toda la info mostrada debe quedar en un archivo que se
llame "sigefi_crash.txt", as=ED como listo para que el usuario lo mande
por mail.
- Si el programa se ejecuta con un "--unsafe", el pop-up tendr=E1 un
boton de continuar que s=F3lo cierre el pop-up y permita al usuario
seguir trabajando bajo su propio riesgo. Tambien en este caso se debe
grabar el ".crash" y el "sigefi_crash.txt".
- Hay que crear una clase (CoreWrapper) que reciba el m=E9todo y los
argumentos para llamar al core, y que lo ejecute encerr=E1ndolo en el
try/except y soporte todo lo descripto reci=E9n.
- Este mismo CoreWrapper tendr=E1 la funcionalidad de logging: si el
programa se ejecut=F3 con --logging, bajar=E1 a disco con flush() todas
las llamadas al core y todo lo que devuelve esa llamada (con fecha y
hora) a un archivo que se llame "sigefi_core.log"
- Usar OptionParser para --logging y --unsafe, y el nombre de archivo.
ej API: parser.add("-l", "--log", action=3D"store_true", dest=3D"log")
. Facundo
Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
|