diff options
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta.activity/activity/activity.info | 2 | ||||
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta/Globales.py | 7 | ||||
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py | 24 | ||||
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta/tests.py | 8 | ||||
-rw-r--r-- | CeibalEncuesta/gtk2/installers/CeibalEncuesta-4.27.xo | bin | 0 -> 285694 bytes | |||
-rw-r--r-- | CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.27_Installer.zip | bin | 0 -> 218151 bytes | |||
-rw-r--r-- | CeibalEncuesta/gtk2/setup.py | 2 |
7 files changed, 25 insertions, 18 deletions
diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta.activity/activity/activity.info b/CeibalEncuesta/gtk2/CeibalEncuesta.activity/activity/activity.info index 95d42e5..b190771 100644 --- a/CeibalEncuesta/gtk2/CeibalEncuesta.activity/activity/activity.info +++ b/CeibalEncuesta/gtk2/CeibalEncuesta.activity/activity/activity.info @@ -3,6 +3,6 @@ name = CeibalEncuesta license = GPLv2+ icon = ceibal exec = sugar-activity CeibalEncuestaActivity.CeibalEncuesta -activity_version = 4.26 +activity_version = 4.27 bundle_id = org.laptop.CeibalEncuesta diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/Globales.py b/CeibalEncuesta/gtk2/CeibalEncuesta/Globales.py index a679c01..b04c7b5 100644 --- a/CeibalEncuesta/gtk2/CeibalEncuesta/Globales.py +++ b/CeibalEncuesta/gtk2/CeibalEncuesta/Globales.py @@ -21,6 +21,7 @@ import csv import os import chardet +import re def csv_validate(archivo): @@ -179,9 +180,9 @@ class Encuestado(object): self.encuestado_str = encuestado_str def get_tipo_grupo(self): - first = self.encuestado_str.split()[:-5] - second = self.encuestado_str[len(" ".join(first)) + 1:] - tipo_grupo = second.split()[3] + match = re.search(r'\w+ (?P<num_esc>\d)+', self.encuestado_str) + second = self.encuestado_str[match.end() + 1:] + tipo_grupo = second.split()[2] return int(tipo_grupo) def get_id(self): diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py index 913b8ad..4bdbe96 100644 --- a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py +++ b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py @@ -28,7 +28,7 @@ import gobject import pango import Globales as G -from Globales import GrupoDeEncuestados +from Globales import GrupoDeEncuestados, Encuestado HOME = os.environ["HOME"] WORKPATH = os.path.join(HOME, "CeibalEncuesta") @@ -81,7 +81,7 @@ class Panel(gtk.Paned): gtk.Paned.__init__(self) self.modify_bg(0, gdk.color_parse("#d8eeb1")) - + self.marca_ultima_pregunta_desactivada = False self.encuestados = None # mantiene csv para guardarlo como tal self.lista = None # Lista() Lista de encuestados @@ -272,8 +272,9 @@ class Panel(gtk.Paned): user += " %s" % item encuestado = user.strip() - if encuestado in ceibal_encuesta.out_dict.keys(): - ceibal_encuesta.out_dict[encuestado]["finalizada"] = True + encuestado_id = Encuestado(encuestado).get_id() + if encuestado_id in ceibal_encuesta.out_dict.keys(): + ceibal_encuesta.out_dict[encuestado_id]["finalizada"] = True self.toolbar_encuesta.siguiente.hide() self.toolbar_encuesta.anterior.show() @@ -583,12 +584,12 @@ class Panel(gtk.Paned): """ Muestra la lista en encuestas de tipo general. """ - + self._window.hide() self.scroll_list.get_parent().show_all() self.scroll_list.set_size_request(200,-1) self._window.show() - + def __new_encuestado(self, widget, encuestado): """ Cuando se crea un nuevo encuestado, este debe agregarse @@ -848,12 +849,11 @@ class Lista(gtk.TreeView): self.seleccionar_ultimo() return - encuestado = encuestados[0] + encuestados = filter(lambda x: len(x) > 0, encuestados) + encuestado = encuestados.pop() self.modelo.append( encuestado ) - encuestados.remove(encuestado) - gobject.idle_add(self.__run_add_encuestado, encuestados) def __seleccionar_primero(self, widget = None): @@ -921,15 +921,15 @@ class Grupo(gtk.Frame): def __init__(self, indice_grupo, grupo): gtk.Frame.__init__(self) - + label = gtk.Label(grupo.get('name', '')) label.modify_fg(0, gdk.Color(0, 0, 0)) self.set_label_widget(label) - + desc = pango.FontDescription(GRADO_FONT_SIZE) desc.set_weight(pango.WEIGHT_BOLD) label.modify_font(desc) - + self.indice = indice_grupo # indice del grupo en la encuesta self.grupo = grupo.copy() # Diccionario del grupo en la encuesta diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/tests.py b/CeibalEncuesta/gtk2/CeibalEncuesta/tests.py index 8b1c972..e1c1f3d 100644 --- a/CeibalEncuesta/gtk2/CeibalEncuesta/tests.py +++ b/CeibalEncuesta/gtk2/CeibalEncuesta/tests.py @@ -126,7 +126,13 @@ class EncuestaTests(unittest.TestCase): class EncuestadoTests(unittest.TestCase): def test_get_tipo_grupo(self): - encuestado_str = "1101236 MONTEVIDEO A 236 2 A 1 0" + encuestado_str = u"1101236 MONTEVIDéO A 236 2 A 1 0" + + encuestado = Encuestado(encuestado_str) + tipo_grupo = encuestado.get_tipo_grupo() + self.assertEqual(1, tipo_grupo) + + encuestado_str = "1101236 MONTEVíDEO H J K 236 2 B 1 46415922 Matías Test" encuestado = Encuestado(encuestado_str) tipo_grupo = encuestado.get_tipo_grupo() diff --git a/CeibalEncuesta/gtk2/installers/CeibalEncuesta-4.27.xo b/CeibalEncuesta/gtk2/installers/CeibalEncuesta-4.27.xo Binary files differnew file mode 100644 index 0000000..3383195 --- /dev/null +++ b/CeibalEncuesta/gtk2/installers/CeibalEncuesta-4.27.xo diff --git a/CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.27_Installer.zip b/CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.27_Installer.zip Binary files differnew file mode 100644 index 0000000..126638b --- /dev/null +++ b/CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.27_Installer.zip diff --git a/CeibalEncuesta/gtk2/setup.py b/CeibalEncuesta/gtk2/setup.py index 665c916..aa6be26 100644 --- a/CeibalEncuesta/gtk2/setup.py +++ b/CeibalEncuesta/gtk2/setup.py @@ -7,7 +7,7 @@ import commands from distutils.core import setup -APP_VERSION = "4.26" +APP_VERSION = "4.27" USER_BASE = site.USER_BASE |