def test_tidy_doesnt_persist_options(self): tidy = Tidy() # This option makes it a fragment doc, err = tidy.tidy_document(DOC % 'a', {'show-body-only': 1}) self.assertEqual(doc, 'a\n') doc, err = tidy.tidy_document(DOC % 'a') self.assertEqual(doc, DOC % 'a')
def test_tidy_doesnt_persist_options(self): tidy = Tidy() # This option makes it a fragment doc, err = tidy.tidy_document(DOC % 'a', {'show-body-only': 1}) self.assertEqual(doc, 'a\n') doc, err = tidy.tidy_document(DOC % 'a') self.assertEqual(doc, DOC % 'a')
def save_handler(req, query, messages): path = req.filename content_dir = cfg.get('core', 'content_dir') length = int(req.headers_in['content-length']) postvars = parse_qs(req.read(length), keep_blank_values=1) if b'content' not in postvars: return apache.HTTP_NOT_FOUND # Editor adds <p> </p> if file starts with a blank line or a comment user_content = postvars[b'content'].pop().decode('utf-8').replace(r'<p> </p>', '', 1) tidy = Tidy() OPTIONS = { 'wrap': 72, 'hide-comments' : 'no', 'preserve-entities': 'yes', 'char-encoding' : 'utf8', 'indent-attributes' : 'yes', } doc = '<!DOCTYPE html><head><title>foo</title></head><body>' + user_content + '</body></html>' doc, errs = tidy.tidy_document(doc, options=OPTIONS) if errs is not '': req.write("<strong>Errors found</strong><br/><pre>") req.write(cgi.escape(errs)) req.write("</pre>") return apache.OK doc = re.sub(r'^.*<body>(.*)</body>.*', r'\1', doc, flags=re.DOTALL) doc = re.sub(r'^ ', '', doc, flags=re.MULTILINE) if path.startswith(content_dir): filename = path + ".new" f = open(filename, "w") f.write(doc) f.close() os.rename(filename, path) os.chmod(path, 0o664) else: req.write("<strong>Attempt to update a file not in the web directory</strong>") return apache.HTTP_FORBIDDEN if 'save' in query: del query['save'] req.args = req.args.replace('?save', '') return psp_handler(req, query, messages)
def tidy_html(html): tidy = Tidy() html, errors = tidy.tidy_document(html) return html
def test_can_use_two_tidy_instances(self): t1 = Tidy() t2 = Tidy() self.assertEqual(t1.tidy_document(DOC % 'a')[0], DOC % 'a') self.assertEqual(t2.tidy_document(DOC % 'b')[0], DOC % 'b')
def test_can_use_two_tidy_instances(self): t1 = Tidy() t2 = Tidy() self.assertEqual(t1.tidy_document(DOC % 'a')[0], DOC % 'a') self.assertEqual(t2.tidy_document(DOC % 'b')[0], DOC % 'b')
def validate_html(html: str): from tidylib import Tidy tidy = Tidy() document, errors = tidy.tidy_document(html) if errors: raise TypeError(errors)
def tidy_html(html_str): """补齐html缺失标签""" tidy = Tidy() tidy_html, errors = tidy.tidy_document(html_str) return tidy_html