Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/CeibalEncuesta
diff options
context:
space:
mode:
authorflavio <fdanesse@gmail.com>2013-08-16 01:49:28 (GMT)
committer flavio <fdanesse@gmail.com>2013-08-16 01:49:28 (GMT)
commit01ad70c149ec0feb79c184358befa9534d7914c3 (patch)
treedad57ec84c59c2339416e48a1be44905e22868f8 /CeibalEncuesta
parent4c154eb7b3e3a702731e8dad62003a61a8fa2dbf (diff)
issue 4426 - Improvements in performance 2
Diffstat (limited to 'CeibalEncuesta')
-rw-r--r--CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py66
-rw-r--r--CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py3
2 files changed, 19 insertions, 50 deletions
diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py b/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py
index e12803a..96fad25 100644
--- a/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py
+++ b/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py
@@ -55,8 +55,8 @@ if not os.path.exists(WORKPATH):
#if not os.path.exists(BACKUP_PATH):
# BACKUP_PATH = WORKPATH
-archivo = open(TEMPPATH, "w")
-archivo.close()
+if os.path.exists(TEMPPATH):
+ os.remove(TEMPPATH)
gobject.threads_init()
gdk.threads_init()
@@ -304,11 +304,9 @@ class CeibalEncuesta(gtk.Window):
self.out_dict[encuestado][indice_grupo]["fields"][indice_pregunta] = dict_pregunta
- # self.__save_json(path = self.path)
-
def save_text(self):
- self.__save_json(path = self.path)
+ self.__save_json()
def __change(self, widget, encuestado,
indice_grupo, grupo_name,
@@ -340,7 +338,7 @@ class CeibalEncuesta(gtk.Window):
self.out_dict[encuestado][indice_grupo]["fields"][indice_pregunta] = dict_pregunta
- self.__save_json(path = self.path)
+ self.__save_json()
def __new_selection(self, widget, encuestado):
"""
@@ -592,9 +590,12 @@ class CeibalEncuesta(gtk.Window):
if os.path.exists(TEMPPATH):
os.remove(TEMPPATH)
-
- #self.path = archivo
-
+
+ self.path = os.path.join(os.path.dirname(TEMPPATH), os.path.basename(archivo))
+
+ import shutil
+ shutil.copyfile(archivo, self.path)
+
extension = os.path.splitext(os.path.split(archivo)[1])[1]
if "encuesta" in extension:
@@ -621,9 +622,9 @@ class CeibalEncuesta(gtk.Window):
#self.backup_path = self.backup_path + "/%s.encuesta" % poll_id
self.infowidget.set_info(dict)
-
+
self.panel.load_encuestados(enc["encuestados"])
-
+
self.__check_sensitive()
def __load_encuestados(self, widget, archivo):
@@ -632,14 +633,9 @@ class CeibalEncuesta(gtk.Window):
y la manda cargar en la aplicaciĆ³n.
"""
- if os.path.exists(TEMPPATH):
- os.remove(TEMPPATH)
-
- self.path = TEMPPATH
-
self.out_dict = {}
- self.__save_json(path = self.path)
+ self.__save_json()
encuestados = G.cargar_encuestados(os.path.join(archivo))
@@ -653,11 +649,6 @@ class CeibalEncuesta(gtk.Window):
un archivo json o shelve.
"""
- if os.path.exists(TEMPPATH):
- os.remove(TEMPPATH)
-
- self.path = TEMPPATH
-
# Mantiene la lista de encuestados cargada actualmente.
encuestados = self.out_dict.keys()
@@ -688,23 +679,6 @@ class CeibalEncuesta(gtk.Window):
pollster_id = enc["pollster_id"]
pollster_username = enc["pollster_username"]
- elif "slv" in extension:
- import shelve
-
- archivo = shelve.open(archivo)
-
- enc = archivo["groups"]
-
- poll_name = archivo["poll_name"]
- poll_id = archivo["poll_id"]
- pollster_id = archivo["pollster_id"]
- pollster_username = archivo["pollster_username"]
-
- for key in enc.keys():
- encuesta[key] = enc[key]
-
- archivo.close()
-
self.poll_id = poll_id
'''
bck_path = self.backup_path + "/%s.encuesta" % self.poll_id
@@ -737,7 +711,7 @@ class CeibalEncuesta(gtk.Window):
while gtk.events_pending():
gtk.main_iteration()
- self.__save_json(path = self.path)
+ self.__save_json()
self.__check_sensitive()
@@ -751,12 +725,10 @@ class CeibalEncuesta(gtk.Window):
else:
self.exportar.set_sensitive(False)
- def __save_json(self, path = TEMPPATH):
+ def __save_json(self):
"""
Guarda encuesta en formato json.
"""
-
- #self.path = path
encuestados = []
encuesta = {}
@@ -784,16 +756,14 @@ class CeibalEncuesta(gtk.Window):
"poll_id": poll_id,
"pollster_id": pollster_id,
"pollster_username": pollster_username}
-
+
+ self.path = os.path.join(os.path.dirname(self.path), "%s.encuesta" % self.poll_id)
+
import json
archivo = open(self.path, "w")
archivo.write(json.dumps(salida))
archivo.close()
- if os.path.exists(TEMPPATH):
- if TEMPPATH != path:
- os.remove(TEMPPATH)
-
def copy_to_Documents(self):
path = os.path.join(HOME, "Documentos")
diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py
index 79d128e..a451e3c 100644
--- a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py
+++ b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py
@@ -272,8 +272,7 @@ class Panel(gtk.Paned):
if encuestado in ceibal_encuesta.out_dict.keys():
ceibal_encuesta.out_dict[encuestado].update(
{"finalizada": True})
- ceibal_encuesta._CeibalEncuesta__save_json(
- path=ceibal_encuesta.path)
+
self.toolbar_encuesta.siguiente.hide()
self.toolbar_encuesta.anterior.show()
return