Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYader 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)
commit0faf7dfa6c0e266c7713c09bb4af924998c2a7a1 (patch)
treeff01e324bbb62c568ec60bd672259698f24b4c58
parentb568fc8aafd709015e5e2d9234c14bc8b6c7b8bd (diff)
bug 1 fixed
-rw-r--r--archivo.py69
-rw-r--r--calendario.py24
2 files changed, 63 insertions, 30 deletions
diff --git a/archivo.py b/archivo.py
index 180b160..3651db1 100644
--- a/archivo.py
+++ b/archivo.py
@@ -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)