From: Facundo B. <fac...@gm...> - 2005-09-10 00:28:58
|
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/ |