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-06-13 04:16:58 (GMT)
committer Rogelio Mita <rogeliomita@activitycentral.com>2013-06-13 04:16:58 (GMT)
commitd9857caa499ddde64b268852053561cb4a7e7820 (patch)
treed6dc5673f5fad96ca3b4822775f2f105dcab3b43
parentb84cb63dc7947b17018712dd16cf237f0a5a6660 (diff)
Save temporal file automatically into Documents or CeibalEncuesta's home.
-rw-r--r--CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py58
-rwxr-xr-xCeibalEncuesta/gtk3/CeibalEncuesta/CeibalEncuesta.py58
2 files changed, 36 insertions, 80 deletions
diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py b/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py
index d623677..2fa3027 100644
--- a/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py
+++ b/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py
@@ -42,11 +42,16 @@ PATH = os.path.dirname(__file__)
HOME = os.environ["HOME"]
WORKPATH = os.path.join(HOME, "CeibalEncuesta")
TEMPPATH = os.path.join(WORKPATH, "temp.encuesta")
+BACKUP_PATH = os.path.join(HOME, "Documentos")
if not os.path.exists(WORKPATH):
os.mkdir(WORKPATH)
os.chmod(WORKPATH, 0755)
+
+if not os.path.exists(BACKUP_PATH):
+ BACKUP_PATH = WORKPATH
+
archivo = open(TEMPPATH, "w")
archivo.close()
@@ -60,6 +65,7 @@ class CeibalEncuesta(gtk.Window):
}
def __init__(self):
+ global BACKUP_PATH
gtk.Window.__init__(self)
@@ -86,7 +92,6 @@ class CeibalEncuesta(gtk.Window):
self.panel = Panel()
# menuitems
- self.guardar = None
self.exportar = None
box.pack_start(self.__get_menu(), False, False, 5)
@@ -111,6 +116,11 @@ class CeibalEncuesta(gtk.Window):
self.__init()
+ if getattr(self, "poll_id", None):
+ BACKUP_PATH = BACKUP_PATH + "/%s.encuesta" % self.poll_id
+ if not os.path.exists(BACKUP_PATH):
+ self.__save_json(path=BACKUP_PATH)
+
self.fullscreen()
def __init(self, widget = None):
@@ -331,22 +341,17 @@ class CeibalEncuesta(gtk.Window):
file_menu.append(abrir)
abrir.connect_object("activate", self.__init, "")
- self.guardar = gtk.MenuItem("Guardar Encuesta . . .")
self.exportar = gtk.MenuItem("Exportar Encuesta . . .")
salir = gtk.MenuItem("Salir")
- self.guardar.set_tooltip_text(
- "Guardar la Encuesta Actual.")
self.exportar.set_tooltip_text(
"Exportar Encuesta a Formato csv")
salir.set_tooltip_text(
"Salir de la AplicaciĆ³n.")
- file_menu.append(self.guardar)
file_menu.append(self.exportar)
file_menu.append(salir)
- self.guardar.connect_object("activate", self.__guardar_encuesta, "")
self.exportar.connect_object("activate", self.__exportar_encuesta, "")
salir.connect_object("activate", self.__salir, "")
@@ -358,7 +363,6 @@ class CeibalEncuesta(gtk.Window):
file_item.set_submenu(file_menu)
self.menu_bar.append(file_item)
- self.guardar.set_sensitive(False)
self.exportar.set_sensitive(False)
return self.menu_bar
@@ -476,43 +480,15 @@ class CeibalEncuesta(gtk.Window):
dialog.destroy()
- def __guardar_encuesta(self, widget = None, senial = None):
- """
- Abre Filechooser para guardar la
- encuesta respondida o parcialmente respondida.
- """
-
- filechooser = My_FileChooser(
- parent_window = self,
- action_type = gtk.FILE_CHOOSER_ACTION_SAVE,
- filter_type = "text/encuesta",
- title = "Guardar Encuesta")
-
- filechooser.connect("load", self.__save_encuesta)
-
- def __save_encuesta(self, widget, archivo):
- """
- Guarda encuesta en formato json.
- """
-
- name, ext = os.path.splitext(archivo)
-
- if ext:
- if ext != "encuesta":
- ext = ".encuesta"
-
- else:
- ext = ".encuesta"
-
- archivo = "%s%s" % (name, ext)
-
- self.__save_json(path = os.path.join(archivo))
+ if os.path.exists(BACKUP_PATH):
+ os.remove(BACKUP_PATH)
def __load_encuesta_respondida(self, widget, archivo):
"""
Carga una encuesta parcial o totalmente
respondida, desde un archivo json.
"""
+ global BACKUP_PATH
if os.path.exists(TEMPPATH):
os.remove(TEMPPATH)
@@ -542,6 +518,8 @@ class CeibalEncuesta(gtk.Window):
"pollster_id": pollster_id,
"pollster_username": pollster_username}
+ BACKUP_PATH = BACKUP_PATH + "/%s.encuesta" % poll_id
+
self.infowidget.set_info(dict)
self.panel.load_encuestados(enc["encuestados"])
@@ -633,6 +611,8 @@ class CeibalEncuesta(gtk.Window):
archivo.close()
+ self.poll_id = poll_id
+
self.panel.load_encuesta(encuesta)
dict = {
@@ -653,11 +633,9 @@ class CeibalEncuesta(gtk.Window):
def __check_sensitive(self):
if self.panel.encuesta and self.panel.lista:
- self.guardar.set_sensitive(True)
self.exportar.set_sensitive(True)
else:
- self.guardar.set_sensitive(False)
self.exportar.set_sensitive(False)
def __save_json(self, path = TEMPPATH):
diff --git a/CeibalEncuesta/gtk3/CeibalEncuesta/CeibalEncuesta.py b/CeibalEncuesta/gtk3/CeibalEncuesta/CeibalEncuesta.py
index a86e0a8..0ee1760 100755
--- a/CeibalEncuesta/gtk3/CeibalEncuesta/CeibalEncuesta.py
+++ b/CeibalEncuesta/gtk3/CeibalEncuesta/CeibalEncuesta.py
@@ -43,11 +43,16 @@ PATH = os.path.dirname(__file__)
HOME = os.environ["HOME"]
WORKPATH = os.path.join(HOME, "CeibalEncuesta")
TEMPPATH = os.path.join(WORKPATH, "temp.encuesta")
+BACKUP_PATH = os.path.join(HOME, "Documentos")
if not os.path.exists(WORKPATH):
os.mkdir(WORKPATH)
os.chmod(WORKPATH, 0755)
+
+if not os.path.exists(BACKUP_PATH):
+ BACKUP_PATH = WORKPATH
+
archivo = open(TEMPPATH, "w")
archivo.close()
@@ -68,6 +73,7 @@ Gdk.threads_init()
class CeibalEncuesta(Gtk.Window):
def __init__(self):
+ global BACKUP_PATH
Gtk.Window.__init__(self)
@@ -93,7 +99,6 @@ class CeibalEncuesta(Gtk.Window):
self.panel = Panel()
# menuitems
- self.guardar = None
self.exportar = None
box.pack_start(self.__get_menu(), False, False, 5)
@@ -117,6 +122,11 @@ class CeibalEncuesta(Gtk.Window):
self.__init()
+ if getattr(self, "poll_id", None):
+ BACKUP_PATH = BACKUP_PATH + "/%s.encuesta" % self.poll_id
+ if not os.path.exists(BACKUP_PATH):
+ self.__save_json(path=BACKUP_PATH)
+
self.fullscreen()
def __init(self, widget = None):
@@ -328,22 +338,17 @@ class CeibalEncuesta(Gtk.Window):
file_menu.append(abrir)
abrir.connect_object("activate", self.__init, "")
- self.guardar = Gtk.MenuItem("Guardar Encuesta . . .")
self.exportar = Gtk.MenuItem("Exportar Encuesta . . .")
salir = Gtk.MenuItem("Salir")
- self.guardar.set_tooltip_text(
- "Guardar la Encuesta Actual.")
self.exportar.set_tooltip_text(
"Exportar Encuesta a Formato csv")
salir.set_tooltip_text(
"Salir de la AplicaciĆ³n.")
- file_menu.append(self.guardar)
file_menu.append(self.exportar)
file_menu.append(salir)
- self.guardar.connect_object("activate", self.__guardar_encuesta, "")
self.exportar.connect_object("activate", self.__exportar_encuesta, "")
salir.connect_object("activate", self.__salir, "")
@@ -355,7 +360,6 @@ class CeibalEncuesta(Gtk.Window):
file_item.set_submenu(file_menu)
self.menu_bar.append(file_item)
- self.guardar.set_sensitive(False)
self.exportar.set_sensitive(False)
return self.menu_bar
@@ -473,43 +477,15 @@ class CeibalEncuesta(Gtk.Window):
dialog.destroy()
- def __guardar_encuesta(self, widget = None, senial = None):
- """
- Abre Filechooser para guardar la
- encuesta respondida o parcialmente respondida.
- """
-
- filechooser = My_FileChooser(
- parent_window = self,
- action_type = Gtk.FileChooserAction.SAVE,
- filter_type = "text/encuesta",
- title = "Guardar Encuesta")
-
- filechooser.connect("load", self.__save_encuesta)
-
- def __save_encuesta(self, widget, archivo):
- """
- Guarda encuesta en formato json.
- """
-
- name, ext = os.path.splitext(archivo)
-
- if ext:
- if ext != "encuesta":
- ext = ".encuesta"
-
- else:
- ext = ".encuesta"
-
- archivo = "%s%s" % (name, ext)
-
- self.__save_json(path = os.path.join(archivo))
+ if os.path.exists(BACKUP_PATH):
+ os.remove(BACKUP_PATH)
def __load_encuesta_respondida(self, widget, archivo):
"""
Carga una encuesta parcial o totalmente
respondida, desde un archivo json.
"""
+ global BACKUP_PATH
if os.path.exists(TEMPPATH):
os.remove(TEMPPATH)
@@ -539,6 +515,8 @@ class CeibalEncuesta(Gtk.Window):
"pollster_id": pollster_id,
"pollster_username": pollster_username}
+ BACKUP_PATH = BACKUP_PATH + "/%s.encuesta" % poll_id
+
self.infowidget.set_info(dict)
self.panel.load_encuestados(enc["encuestados"])
@@ -630,6 +608,8 @@ class CeibalEncuesta(Gtk.Window):
archivo.close()
+ self.poll_id = poll_id
+
self.panel.load_encuesta(encuesta)
dict = {
@@ -650,11 +630,9 @@ class CeibalEncuesta(Gtk.Window):
def __check_sensitive(self):
if self.panel.encuesta and self.panel.lista:
- self.guardar.set_sensitive(True)
self.exportar.set_sensitive(True)
else:
- self.guardar.set_sensitive(False)
self.exportar.set_sensitive(False)
def __save_json(self, path = TEMPPATH):