Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCode Raguet <ignacio.code@gmail.com>2013-08-12 15:58:47 (GMT)
committer Code Raguet <ignacio.code@gmail.com>2013-08-12 15:58:47 (GMT)
commit9706ebab4b562767f0243da92df2891949b7033b (patch)
treeb1e5ea831c15ee1b6c9ac5126bc177f120130340
parent3697145376521307b2d3227c2b1128f2b879b8c8 (diff)
BUGFIX: app silently fails with dummy json file. (issue #4355)
-rw-r--r--CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py23
1 files changed, 14 insertions, 9 deletions
diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py
index b808f15..1af4d64 100644
--- a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py
+++ b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py
@@ -2393,15 +2393,20 @@ class Wizard(gtk.Dialog):
import json
import codecs
- archivo = codecs.open(self.json_file, "r", "utf-8")
- enc = json.JSONDecoder("utf-8").decode(archivo.read())
-
- keys = enc.keys()
-
- for key in ["pollster_id", "poll_name", "poll_id", "groups", "pollster_username"]:
- if not key in keys:
- valido = False
- break
+ try:
+ archivo = codecs.open(self.json_file, "r", "utf-8")
+ enc = json.JSONDecoder("utf-8").decode(archivo.read())
+
+ keys = enc.keys()
+
+ for key in ["pollster_id", "poll_name", "poll_id", "groups", "pollster_username"]:
+ if not key in keys:
+ valido = False
+ break
+ except ValueError:
+ valido = False
+ finally:
+ archivo.close()
else:
valido = False