Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
32 lines (24 sloc) 612 Bytes
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
Filter for escaping unsafe XML characters: <, >, &
@author Sergey Chikuyonok (serge.che@gmail.com)
@link http://chikuyonok.ru
'''
import re
alias = 'e'
"Filter name alias (if not defined, ZC will use module name)"
char_map = {
'<': '&lt;',
'>': '&gt;',
'&': '&amp;'
}
re_chars = re.compile(r'[<>&]')
def escape_chars(text):
return re_chars.sub(lambda m: char_map[m.group(0)], text)
def process(tree, profile=None):
for item in tree.children:
item.start = escape_chars(item.start)
item.end = escape_chars(item.end)
process(item)
return tree