changeset 2745:44a6a61de7fc

Potential fix for #206
author Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk>
date Mon, 24 Apr 2017 15:05:43 +0100
parents 091bf99fc601
children ae6d56a300c5
files python/commentquestion_parser.py
diffstat 1 files changed, 17 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/python/commentquestion_parser.py	Mon Apr 24 14:56:42 2017 +0100
+++ b/python/commentquestion_parser.py	Mon Apr 24 15:05:43 2017 +0100
@@ -27,14 +27,14 @@
     print("No write privileges in folder '"+folder_name+"'.")
 
 # create folder 'ratings' if not yet created
-if not os.path.exists(folder_name + '/ratings'):
-    os.makedirs(folder_name + '/ratings')
+if not os.path.exists(folder_name + '/comments'):
+    os.makedirs(folder_name + '/comments')
     
 pagestore = {}
 
 for filename in os.listdir(folder_name):
     if (filename.endswith(".xml")):
-        tree = ET.parse(folder_name + '/' + file_name)
+        tree = ET.parse(folder_name + '/' + filename)
         root = tree.getroot()
         
         subject_id = root.get('key');
@@ -51,7 +51,7 @@
                 break
             try:
                 questionStore = pagestore[pagename]
-            except KeyValue:
+            except KeyError:
                 questionStore = {}
                 pagestore[pagename] = questionStore
             
@@ -60,8 +60,19 @@
                 response = cq.find("./response").text
                 try:
                     commentStore = questionStore[cqid]
-                except KeyValue:
+                except KeyError:
                     commentStore = [];
                     questionStore[cqid] = commentStore
                 commentStore.append({"subject": subject_id, "value": response})
-print pagestore
\ No newline at end of file
+
+for page in pagestore.keys():
+	print page
+	pagedir = folder_name + '/comments/'+page
+	if not os.path.exists(pagedir):
+	    os.makedirs(pagedir)
+	for comment in pagestore[page].keys():
+		with open(pagedir+"/"+comment+".csv", "w") as csvfile:
+			filewriter = csv.writer(csvfile, delimiter=',')
+			filewriter.writerow(("save_id", "value"))
+			for entry in pagestore[page][comment]:
+				filewriter.writerow((entry["subject"], entry["value"]))
\ No newline at end of file