changeset 2957:ca1abc3d8ef6

UTF-8 encoding comment and survey analysis scripts
author Brecht De Man <b.deman@qmul.ac.uk>
date Tue, 21 Nov 2017 10:40:22 +0100
parents 356a09527abc
children a5da95ad84f9
files python/comment_parser.py python/survey_parser.py tests/examples/APE_example.xml
diffstat 3 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/python/comment_parser.py	Thu Nov 02 14:44:37 2017 +0000
+++ b/python/comment_parser.py	Tue Nov 21 10:40:22 2017 +0100
@@ -85,7 +85,7 @@
                            valuestr = ''
 
                         # anonymous comments:
-                        #writer.writerow([commentstr])  # .encode("utf-8")
+                        # writer.writerow([commentstr.encode("utf-8")])
                         # comments with (file) name:
                         writer.writerow([file[:-4]] + [valuestr] + [commentstr.encode("utf-8")]) 
 
--- a/python/survey_parser.py	Thu Nov 02 14:44:37 2017 +0000
+++ b/python/survey_parser.py	Tue Nov 21 10:40:22 2017 +0100
@@ -36,7 +36,7 @@
 storage = {"globals":{}, "pages": {}}
 
 def decodeSurveyTree(session_id, surveyroot, store):
-    # Get all the childs
+    # Get all the children
     for survey_entry in list(surveyroot):
         survey_id = survey_entry.get("ref")
         if survey_id not in store.keys():
@@ -142,7 +142,7 @@
                         page_store["post"] = {}
                     page_store["post"] = decodeSurveyTree(subject_id, post_survey, page_store["post"])
 
-#Storage now holds entire survey structure
+# Storage now holds entire survey structure
 # Time to start exporting to files
 
 # Store globals
@@ -153,6 +153,7 @@
             filewriter = csv.writer(f, delimiter=",")
             filewriter.writerow(storage["globals"][position][ref]["header"])
             for row in storage["globals"][position][ref]["responses"]:
+                row = [element.encode("utf-8") for element in row]
                 filewriter.writerow(row)
 for page_name in storage["pages"].keys():
     for position in storage["pages"][page_name].keys():
@@ -163,9 +164,10 @@
                 filewriter = csv.writer(f, delimiter=",")
                 filewriter.writerow(storage["pages"][page_name][position][ref]["header"])
                 for row in storage["pages"][page_name][position][ref]["responses"]:
+                    row = [element.encode("utf-8") for element in row]
                     filewriter.writerow(row)
 
-#Time to plot
+# Time to plot
 
 def plotDurationHistogram(store, plot_id, saveloc):
     x = []
@@ -224,4 +226,4 @@
             if storage["pages"][page_name][position][ref]["type"] == "radio":
                 plotRadio(storage["pages"][page_name][position][ref],ref, saveloc)
             if storage["pages"][page_name][position][ref]["type"] == "checkbox":
-                plotCheckbox(storage["pages"][page_name][position][ref],ref, saveloc)
\ No newline at end of file
+                plotCheckbox(storage["pages"][page_name][position][ref],ref, saveloc)
--- a/tests/examples/APE_example.xml	Thu Nov 02 14:44:37 2017 +0000
+++ b/tests/examples/APE_example.xml	Tue Nov 21 10:40:22 2017 +0100
@@ -57,7 +57,7 @@
                 <interfaceoption type="show" name="comments" />
             </interface>
         </setup>
-        <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-12">
+        <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' synchronous="true" loudness="-12">
             <commentboxprefix>Comment on fragment</commentboxprefix>
             <interface name="preference">
                 <title>Preference</title>
@@ -93,7 +93,7 @@
                 </surveyentry>
             </survey>
         </page>
-        <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' label="letter">
+        <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' synchronous="true" label="letter">
             <commentboxprefix>Comment on fragment</commentboxprefix>
             <interface name="preference">
                 <title>Example Test Question</title>