diff options
author | Rogelio Mita <rogeliomita@activitycentral.com> | 2013-08-19 15:40:54 (GMT) |
---|---|---|
committer | Rogelio Mita <rogeliomita@activitycentral.com> | 2013-08-19 15:40:54 (GMT) |
commit | b6237a7c15df259cb110a409b43c13a18ec54c14 (patch) | |
tree | 8d5e402cfdf536bfd54c3565dae8016cf1d4907c | |
parent | d23c64d5a877c99bb576d416a4c14289c338b4c0 (diff) | |
parent | ee811ccf7b9820a842f92c48483c5aeab397db68 (diff) |
Merge branch 'DEV'v4.13
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta.activity/activity/activity.info | 2 | ||||
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py | 50 | ||||
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py | 12 | ||||
-rw-r--r-- | CeibalEncuesta/gtk2/installers/CeibalEncuesta-4.13.xo | bin | 0 -> 286073 bytes | |||
-rw-r--r-- | CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.13_Installer.zip | bin | 0 -> 217833 bytes | |||
-rw-r--r-- | CeibalEncuesta/gtk2/setup.py | 2 |
6 files changed, 33 insertions, 33 deletions
diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta.activity/activity/activity.info b/CeibalEncuesta/gtk2/CeibalEncuesta.activity/activity/activity.info index 8da3ee6..47c19cf 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.12 +activity_version = 4.13 bundle_id = org.laptop.CeibalEncuesta diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py b/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py index b74c1a8..be0d37d 100644 --- a/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py +++ b/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py @@ -426,12 +426,6 @@ class CeibalEncuesta(gtk.Window): filechooser.connect("load", self.__save_results) - def are_answers_empty(self, answers): - if answers.get("finalizada", None): - return False - - return True - def __save_results(self, widget = None, chosen_path = WORKPATH): """ Exporta los datos a un archivo con el formato @@ -439,15 +433,14 @@ class CeibalEncuesta(gtk.Window): """ ### Asegurandose de que se haya guardado toda la informaciĆ³n. - - self.__save_json() - + self.copy_to_Documents() + import json import codecs archivo = codecs.open(self.path, "r", "utf-8") enc = json.JSONDecoder("utf-8").decode(archivo.read()) - + ### Cabecera para lista de encuestados. cabecera = enc["encuestados"][0] @@ -456,7 +449,7 @@ class CeibalEncuesta(gtk.Window): ### Encuestados. encuestados = enc["encuestados"][1:] - + ### Respuestas respuestas = enc["groups"] @@ -465,18 +458,18 @@ class CeibalEncuesta(gtk.Window): for item in cabecera: polled_dict[item] = "" - + ### llenando la salida para este encuestado. result = {} contador = 0 for encuestado in encuestados: - + ### polled polled = polled_dict.copy() for item in encuestado: polled[cabecera[encuestado.index(item)]] = item - + ### answers user = "" for item in encuestado: @@ -486,35 +479,41 @@ class CeibalEncuesta(gtk.Window): answers = respuestas.get(encue, {}) - if self.are_answers_empty(answers): + if not answers.get("finalizada", None): continue - + if answers.get("finalizada", None): del answers['finalizada'] for group_order, fields in answers.iteritems(): for field_order, field_data in fields['fields'].iteritems(): + if field_data.get('img', False): del field_data['img'] + selected = field_data.get('default', []) field_data['answer'] = {} + if len(selected): for option_id, value in field_data.get("options", {}).iteritems(): if option_id in selected: selected_opt = field_data['options'][option_id] + if "Image" in field_data['widget_type']: del selected_opt['img'] + elif "TextInput" in field_data['widget_type']: new_text = value.get("newtext", "") value['text'] = new_text del value['newtext'] + field_data['answer'].update({"%s" % option_id: selected_opt}) for key_to_del in ['dependence', 'options', 'default']: if field_data.get(key_to_del, None): del field_data[key_to_del] - result[contador] = {"polled": polled, "answers": answers} + result[str(contador)] = {"polled": polled, "answers": answers} contador += 1 @@ -532,11 +531,10 @@ class CeibalEncuesta(gtk.Window): poll_id = enc.get("poll_id", "") hash = int(time.time() * 1000) path = os.path.join(chosen_path, "%s_%s.poll_result" % (poll_id, hash)) - - import json - + try: archivo = open(path, "w") + except IOError, ioe: dialog = My_Alert_Dialog( parent_window = self, @@ -567,15 +565,13 @@ class CeibalEncuesta(gtk.Window): ) archivo.close() - dialog = self._alert_dialog( + dialog = My_Alert_Dialog( parent_window=self, label="Encuesta Exportada Correctamente.") + dialog.run() dialog.destroy() - def _alert_dialog(self, parent_window, label): - return My_Alert_Dialog(parent_window=parent_window, label=label) - def __load_encuesta_respondida(self, widget, archivo): """ @@ -761,9 +757,11 @@ class CeibalEncuesta(gtk.Window): archivo.close() def copy_to_Documents(self): - + + self.__save_json() + final_path = os.path.join(WORKPATH, os.path.basename(self.path)) - + import shutil shutil.copyfile(self.path, final_path) diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py index da51b09..c58fd8a 100644 --- a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py +++ b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py @@ -251,13 +251,13 @@ class Panel(gtk.Paned): elif accion == "Siguiente" and self.toolbar_encuesta.siguiente.active: ceibal_encuesta = self.get_toplevel() + finalizada = False if index_visible < len(grupos) - 1: map(self.__hide_groups, grupos) map(self.__show_groups, [grupos[index_visible + 1]]) self.box_encuesta.queue_draw() self._window.get_vadjustment().set_value(0) - ceibal_encuesta.copy_to_Documents() if index_visible == len(grupos) - 2: self.toolbar_encuesta.encuesta_actual.finalizar() @@ -270,12 +270,14 @@ class Panel(gtk.Paned): encuestado = user.strip() if encuestado in ceibal_encuesta.out_dict.keys(): - ceibal_encuesta.out_dict[encuestado].update( - {"finalizada": True}) - + ceibal_encuesta.out_dict[encuestado]["finalizada"] = True + self.toolbar_encuesta.siguiente.hide() self.toolbar_encuesta.anterior.show() - return + finalizada = True + + ceibal_encuesta.copy_to_Documents() + if finalizada: return self.__check_sensibility_butons() diff --git a/CeibalEncuesta/gtk2/installers/CeibalEncuesta-4.13.xo b/CeibalEncuesta/gtk2/installers/CeibalEncuesta-4.13.xo Binary files differnew file mode 100644 index 0000000..08c7f9a --- /dev/null +++ b/CeibalEncuesta/gtk2/installers/CeibalEncuesta-4.13.xo diff --git a/CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.13_Installer.zip b/CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.13_Installer.zip Binary files differnew file mode 100644 index 0000000..9c89e9d --- /dev/null +++ b/CeibalEncuesta/gtk2/installers/CeibalEncuesta_Gtk2_4.13_Installer.zip diff --git a/CeibalEncuesta/gtk2/setup.py b/CeibalEncuesta/gtk2/setup.py index d460af8..742c1e1 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.12" +APP_VERSION = "4.13" USER_BASE = site.getuserbase() |