diff options
author | Code 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) |
commit | 9706ebab4b562767f0243da92df2891949b7033b (patch) | |
tree | b1e5ea831c15ee1b6c9ac5126bc177f120130340 | |
parent | 3697145376521307b2d3227c2b1128f2b879b8c8 (diff) |
BUGFIX: app silently fails with dummy json file. (issue #4355)
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py | 23 |
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 |