Changeset 1689
- Timestamp:
- 07/28/06 16:44:50 (2 years ago)
- Files:
-
- branches/1.0/turbogears/toolbox/admi18n/pygettext.py (modified) (2 diffs)
- branches/1.0/turbogears/util.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/1.0/turbogears/toolbox/admi18n/pygettext.py
r1498 r1689 168 168 import tokenize 169 169 import operator 170 171 from elementtree.ElementTree import ElementTree 170 import codecs 171 172 from elementtree.ElementTree import ElementTree, XML 173 from turbogears.util import fixentities 172 174 173 175 __version__ = '1.5' … … 517 519 f = None 518 520 try: 519 f = ElementTree(file=self.__curfile) 521 file = open(self.__curfile) 522 f = ElementTree(XML( fixentities(file.read() ))) 520 523 except Exception, e: 521 524 print 'Skip %s: %s' % (self.__curfile, e) 522 525 return 526 523 527 node = f.getroot() 524 528 self.get_text_node(node) branches/1.0/turbogears/util.py
r1591 r1689 1 1 import os 2 2 import sys 3 import re 4 import htmlentitydefs 3 5 from inspect import getargspec, getargvalues 4 6 from itertools import izip, islice, chain, imap … … 395 397 return value 396 398 399 def fixentities(htmltext): 400 # replace HTML character entities with numerical references 401 # note: this won't handle CDATA sections properly 402 def repl(m): 403 entity = htmlentitydefs.entitydefs.get(m.group(1).lower()) 404 if not entity: 405 return m.group(0) 406 elif len(entity) == 1: 407 if entity in "&<>'\"": 408 return m.group(0) 409 return "&#%d;" % ord(entity) 410 else: 411 return entity 412 return re.sub("&(\w+);?", repl, htmltext) 413 414 397 415 __all__ = ["Enum", "setlike", 398 416 "get_package_name", "get_model", "load_project_config",