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