diff options
author | Yader Velásquez <yajosev@gmail.com> | 2010-11-06 23:15:07 (GMT) |
---|---|---|
committer | Yader Velásquez <yajosev@gmail.com> | 2010-11-06 23:15:07 (GMT) |
commit | 0faf7dfa6c0e266c7713c09bb4af924998c2a7a1 (patch) | |
tree | ff01e324bbb62c568ec60bd672259698f24b4c58 | |
parent | b568fc8aafd709015e5e2d9234c14bc8b6c7b8bd (diff) |
bug 1 fixed
-rw-r--r-- | archivo.py | 69 | ||||
-rw-r--r-- | calendario.py | 24 |
2 files changed, 63 insertions, 30 deletions
@@ -18,8 +18,12 @@ import gtk import pickle import gobject +import os +import logging from gettext import gettext as _ +_log = logging.getLogger('Log archivo') + def indice_entero(cadena): '''return an int from a string with tuple sintax''' cadena = cadena.replace('(','') @@ -27,38 +31,60 @@ def indice_entero(cadena): cadena = cadena.replace(')','') return int(cadena) -def crear_modelo(indice): +def crear_modelo(indice, path): '''create the liststore model for the main block''' - archivo = open('files/actividades.pkl', 'rb') - dia = pickle.load(archivo) - contar = 1 - modelo = gtk.ListStore(gobject.TYPE_INT, gobject.TYPE_STRING) + path = path + '/data/actividades.pkl' + modelo = gtk.ListStore(gobject.TYPE_INT, gobject.TYPE_STRING) vacio = _('no hay actividades para el día de hoy') - if dia.has_key(indice): - if len(dia[indice]): - for activ in dia[indice]: - modelo.append([contar, activ]) - contar += 1 - else: - modelo.append([0, vacio]) - else : - modelo.append([0, vacio]) + if not os.path.exists(path): + _log.debug('THE FILE ACTIVIDADES DID NOT EXISTS') + archivo = open(path, 'wb') + dia = {} + pickle.dump(dia, archivo) + modelo.append([0, vacio]) + + else: + _log.debug('THE FILE EXISTS') + archivo = open(path, 'rb') + dia = pickle.load(archivo) + contar = 1 + if dia.has_key(indice): + if len(dia[indice]): + for activ in dia[indice]: + modelo.append([contar, activ]) + contar += 1 + else: + modelo.append([0, vacio]) + else : + modelo.append([0, vacio]) archivo.close() return modelo -def abrir_efemeride(): +def abrir_efemeride(path): '''open the ephemeris file and return a data dictionary''' - archivo = open('files/efemerides.pkl', 'rb') - texto = pickle.load(archivo) + path = path + '/data/efemerides.pkl' + + if not os.path.exists(path): + _log.debug('THE FILE EFEMERIDES DID NOT EXISTS') + archivo = open(path, 'wb') + texto = {} + pickle.dump(texto, archivo) + + else: + _log.debug('THE FILE EXISTS') + archivo = open(path, 'rb') + texto = pickle.load(archivo) + return texto -def guardar_dato(indice, contenido): +def guardar_dato(indice, contenido, path): '''save the content in a file, add the content to a dictionary->list''' + path = path + '/data/actividades.pkl' indice = str(indice) - f = open('files/actividades.pkl', 'rb+wb') + f = open(path, 'rb+wb') dia = pickle.load(f) if dia.has_key(indice) is False: dia[indice] = [] @@ -68,12 +94,13 @@ def guardar_dato(indice, contenido): f.flush() f.close() -def borrar_dato(indice, indice_lista): +def borrar_dato(indice, indice_lista, path): '''delete the selected content''' + path = path + '/data/actividades.pkl' indice_lista = str(indice_lista) indice = str(indice) indice_lista = indice_entero(indice_lista) - f = open('files/actividades.pkl', 'rb+wb') + f = open(path, 'rb+wb') dia = pickle.load(f) del dia[indice][indice_lista] f.seek(0) diff --git a/calendario.py b/calendario.py index c3ea062..de302c7 100644 --- a/calendario.py +++ b/calendario.py @@ -20,6 +20,7 @@ from gettext import gettext as _ from fecha import FechaUnix, FechaNormal from archivo import crear_modelo, abrir_efemeride, guardar_dato, borrar_dato import gtk +#import logging from sugar.activity import activity @@ -27,13 +28,17 @@ class CalendarioActivity(activity.Activity): '''the sugar class''' def __init__(self, handle): - ''' init class''' + ''' init class''' super(CalendarioActivity, self).__init__(handle) self.set_title(_('Calendario')) barra_herramientas = activity.ActivityToolbox(self) self.set_toolbox(barra_herramientas) barra_herramientas.show() self.fecha_normal = FechaNormal() + #self._log = logging.getLogger('log principal') + self.path = self.get_activity_root() + + ######################### set interface ######################## @@ -51,7 +56,7 @@ class CalendarioActivity(activity.Activity): self.lista_fecha_t = self.calendario.get_date() self.indice_dia_t = FechaUnix(self.lista_fecha_t) - self.modelo = crear_modelo(self.indice_dia_t.fecha_unix()) + self.modelo = crear_modelo(self.indice_dia_t.fecha_unix(), self.path) self.actividades = gtk.TreeView(self.modelo) self.area_texto.add(self.actividades) self._crear_columna() @@ -65,7 +70,7 @@ class CalendarioActivity(activity.Activity): #ephemeris files - self.texto = abrir_efemeride() + self.texto = abrir_efemeride(self.path) if self.texto.has_key(self.fecha_normal.fecha_especial()): self.buffer.set_text(self.texto[self.fecha_normal.fecha_especial()]) @@ -131,7 +136,7 @@ class CalendarioActivity(activity.Activity): '''when a date is selected''' self.lista_fecha = self.calendario.get_date() self.indice_dia = FechaUnix(self.lista_fecha) - self.modelo = crear_modelo(self.indice_dia.fecha_unix()) + self.modelo = crear_modelo(self.indice_dia.fecha_unix(), self.path) self.actividades.set_model(self.modelo) def _borrar_fila_cb(self, widget, data=None): @@ -142,10 +147,11 @@ class CalendarioActivity(activity.Activity): self.lista_fecha = self.calendario.get_date() self.indice_dia = FechaUnix(self.lista_fecha) self.indice_dia = self.indice_dia.fecha_unix() - borrar_dato(self.indice_dia, self.enlace) - self.modelo = crear_modelo(self.indice_dia) + borrar_dato(self.indice_dia, self.enlace, self.path) + self.modelo = crear_modelo(self.indice_dia, self.path) self.actividades.set_model(self.modelo) - + + def _nuevo_ingreso_cb(self, widget, data=None): '''when the user clicked on the save button, the content is added to a python object and @@ -156,9 +162,9 @@ class CalendarioActivity(activity.Activity): self.buffer = self.entrada.get_buffer() self.inicio, self.final = self.buffer.get_bounds() self.cadena = self.buffer.get_text(self.inicio, self.final, False) - guardar_dato(self.indice_dia, self.cadena) + guardar_dato(self.indice_dia, self.cadena, self.path) self.buffer.set_text(' ') - self.modelo = crear_modelo(self.indice_dia) + self.modelo = crear_modelo(self.indice_dia, self.path) self.actividades.set_model(self.modelo) |