File: misc.py

package info (click to toggle)
codespeak-lib 0.9.1-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 3,212 kB
  • ctags: 5,409
  • sloc: python: 33,390; ansic: 961; xml: 582; makefile: 90
file content (17 lines) | stat: -rw-r--r-- 508 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import re
class _escape:
    def __init__(self):
        self.escape = {
            u'"' : u'&quot;', u'<' : u'&lt;', u'>' : u'&gt;', 
            u'&' : u'&amp;', u"'" : u'&apos;',
            }
        self.charef_rex = re.compile(u"|".join(self.escape.keys()))

    def _replacer(self, match):
        return self.escape[match.group(0)]

    def __call__(self, ustring):
        """ xml-escape the given unicode string. """
        return self.charef_rex.sub(self._replacer, ustring)

escape = _escape()