Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRogelio Mita <rogeliomita@activitycentral.com>2013-11-08 20:33:51 (GMT)
committer Rogelio Mita <rogeliomita@activitycentral.com>2013-11-08 20:33:51 (GMT)
commitf6fbb87b0fbe5213dc140dbf3d6d4d4fcd13da83 (patch)
tree28162d7ef2bf0e174900f6a92f6addd2f724291c
parentf0af66846834fd2bb78238778d1eda83b9bcab50 (diff)
parent042a4430def00f18a23043a08ddc1c0bb2c7168b (diff)
Merge branch 'DEV'HEADv4.27master
-rw-r--r--CeibalEncuesta/gtk2/CeibalEncuesta.activity/activity/activity.info2
-rw-r--r--CeibalEncuesta/gtk2/CeibalEncuesta/Globales.py7
-rw-r--r--CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py24
-rw-r--r--CeibalEncuesta/gtk2/CeibalEncuesta/tests.py8
-rw-r--r--CeibalEncuesta/gtk2/installers/CeibalEncuesta-4.27.xobin0 -> 285694 bytes
-rw-r--r--CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.27_Installer.zipbin0 -> 218151 bytes
-rw-r--r--CeibalEncuesta/gtk2/setup.py2
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
new file mode 100644
index 0000000..3383195
--- /dev/null
+++ b/CeibalEncuesta/gtk2/installers/CeibalEncuesta-4.27.xo
Binary files differ
diff --git a/CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.27_Installer.zip b/CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.27_Installer.zip
new file mode 100644
index 0000000..126638b
--- /dev/null
+++ b/CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.27_Installer.zip
Binary files differ
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