diff options
author | flavio <fdanesse@gmail.com> | 2013-07-29 20:37:30 (GMT) |
---|---|---|
committer | flavio <fdanesse@gmail.com> | 2013-07-29 20:37:30 (GMT) |
commit | 0eb5a5ee47e3efbb6f0a4ec4c86d93ec23d2a2bb (patch) | |
tree | 2fd7a71362ae545734bd85183399500a1d9d80a1 | |
parent | d4b881404ebd3bdf8f68b427fe813d2b1846eae6 (diff) |
Correction #4355
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py index 70c9c4f..f826939 100644 --- a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py +++ b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py @@ -2367,14 +2367,32 @@ class Wizard(gtk.Dialog): return valido def validate_json_file(self): - valido = False + + valido = True if self.json_file: extension = os.path.splitext(os.path.split(self.json_file)[1])[1] - if "json" in extension or "slv" in extension: - valido = True + if "json" in extension: + 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 + + else: + valido = False + + else: + valido = False + return valido def validate_tmp_file(self): |