Add validation script
[disclosr.git] / admin / validation.py
blob:a/admin/validation.py -> blob:b/admin/validation.py
--- a/admin/validation.py
+++ b/admin/validation.py
@@ -1,1 +1,30 @@
+#http://packages.python.org/CouchDB/client.html
+import couchdb
+import json
+import pprint
+import re
+from tidylib import tidy_document
 
+couch = couchdb.Server('http://127.0.0.1:5984/')
+
+# select database
+docsdb = couch['disclosr-documents']
+
+def f(x):
+	invalid = re.compile(r"ensure|testing|flicker|updating|longdesc|Accessibility Checks|not recognized")
+	valid = re.compile(r"line")
+	return (not invalid.search(x)) and valid.search(x) and x != ''
+
+for row in docsdb.view('app/getValidationRequired'): 
+    print row.id
+    html = docsdb.get_attachment(row.id,row.value.iterkeys().next()).read()
+    #print html
+    document, errors = tidy_document(html,options={'accessibility-check':1,'show-warnings':0,'markup':0},keep_doc=True)
+    #http://www.aprompt.ca/Tidy/accessibilitychecks.html
+    #print document
+    errors = '\n'.join(filter(f,errors.split('\n')))
+    #print errors
+    doc = docsdb.get(row.id)
+    doc['validation'] = errors
+    docsdb.save(doc)
+