diff markup/core.py @ 136:636e0100fcaf

Minor performance improvements in serialization.
author cmlenz
date Sun, 06 Aug 2006 21:22:21 +0000
parents b9a0031d4bbb
children a2edde90ad24
line wrap: on
line diff
--- a/markup/core.py
+++ b/markup/core.py
@@ -292,7 +292,7 @@
 
     def __new__(cls, text='', *args):
         if args:
-            text %= tuple([escape(arg) for arg in args])
+            text %= tuple(map(escape, args))
         return unicode.__new__(cls, text)
 
     def __add__(self, other):
@@ -301,8 +301,7 @@
     def __mod__(self, args):
         if not isinstance(args, (list, tuple)):
             args = [args]
-        return Markup(unicode.__mod__(self,
-                                      tuple([escape(arg) for arg in args])))
+        return Markup(unicode.__mod__(self, tuple(map(escape, args))))
 
     def __mul__(self, num):
         return Markup(unicode(self) * num)
@@ -463,11 +462,9 @@
 
         parts = qname.split(u'}', 1)
         if len(parts) > 1:
-            self = unicode.__new__(cls, u'{' + qname)
-            self.namespace = unicode(parts[0])
-            self.localname = unicode(parts[1])
+            self = unicode.__new__(cls, u'{%s' % qname)
+            self.namespace, self.localname = map(unicode, parts)
         else:
             self = unicode.__new__(cls, qname)
-            self.namespace = None
-            self.localname = unicode(qname)
+            self.namespace, self.localname = None, unicode(qname)
         return self
Copyright (C) 2012-2017 Edgewall Software