comparison markup/core.py @ 136:b86f496f6035 trunk

Minor performance improvements in serialization.
author cmlenz
date Sun, 06 Aug 2006 21:22:21 +0000
parents 79f445396cd7
children c1f4390d50f8
comparison
equal deleted inserted replaced
134:d681d2c3cd8d 136:b86f496f6035
290 """ 290 """
291 __slots__ = [] 291 __slots__ = []
292 292
293 def __new__(cls, text='', *args): 293 def __new__(cls, text='', *args):
294 if args: 294 if args:
295 text %= tuple([escape(arg) for arg in args]) 295 text %= tuple(map(escape, args))
296 return unicode.__new__(cls, text) 296 return unicode.__new__(cls, text)
297 297
298 def __add__(self, other): 298 def __add__(self, other):
299 return Markup(unicode(self) + escape(other)) 299 return Markup(unicode(self) + escape(other))
300 300
301 def __mod__(self, args): 301 def __mod__(self, args):
302 if not isinstance(args, (list, tuple)): 302 if not isinstance(args, (list, tuple)):
303 args = [args] 303 args = [args]
304 return Markup(unicode.__mod__(self, 304 return Markup(unicode.__mod__(self, tuple(map(escape, args))))
305 tuple([escape(arg) for arg in args])))
306 305
307 def __mul__(self, num): 306 def __mul__(self, num):
308 return Markup(unicode(self) * num) 307 return Markup(unicode(self) * num)
309 308
310 def __repr__(self): 309 def __repr__(self):
461 if type(qname) is cls: 460 if type(qname) is cls:
462 return qname 461 return qname
463 462
464 parts = qname.split(u'}', 1) 463 parts = qname.split(u'}', 1)
465 if len(parts) > 1: 464 if len(parts) > 1:
466 self = unicode.__new__(cls, u'{' + qname) 465 self = unicode.__new__(cls, u'{%s' % qname)
467 self.namespace = unicode(parts[0]) 466 self.namespace, self.localname = map(unicode, parts)
468 self.localname = unicode(parts[1])
469 else: 467 else:
470 self = unicode.__new__(cls, qname) 468 self = unicode.__new__(cls, qname)
471 self.namespace = None 469 self.namespace, self.localname = None, unicode(qname)
472 self.localname = unicode(qname)
473 return self 470 return self
Copyright (C) 2012-2017 Edgewall Software