[Checkins] SVN: zope.tal/trunk/src/zope/tal/talparser.py Use dict lookup instead of if/else sequence where appropriate

Dmitry Vasiliev dima at hlabs.spb.ru
Thu Jun 21 06:08:47 EDT 2007


Log message for revision 76887:
  Use dict lookup instead of if/else sequence where appropriate

Changed:
  U   zope.tal/trunk/src/zope/tal/talparser.py

-=-
Modified: zope.tal/trunk/src/zope/tal/talparser.py
===================================================================
--- zope.tal/trunk/src/zope/tal/talparser.py	2007-06-21 10:06:33 UTC (rev 76886)
+++ zope.tal/trunk/src/zope/tal/talparser.py	2007-06-21 10:08:47 UTC (rev 76887)
@@ -50,7 +50,7 @@
             attrlist = []
             for i in range(0, len(attrs), 2):
                 key = attrs[i]
-                value = attrs[i+1]
+                value = attrs[i + 1]
                 attrlist.append((key, value))
         else:
             # attrs is a dict of {name: value}
@@ -86,6 +86,12 @@
             taldict['tal tag'] = namens
         return name, fixedattrlist, taldict, metaldict, i18ndict
 
+    _namespaces = {
+        ZOPE_TAL_NS: "tal",
+        ZOPE_METAL_NS: "metal",
+        ZOPE_I18N_NS: "i18n",
+    }
+
     def xmlnsattrs(self):
         newlist = []
         for prefix, uri in self.nsNew:
@@ -93,7 +99,7 @@
                 key = "xmlns:" + prefix
             else:
                 key = "xmlns"
-            if uri in (ZOPE_METAL_NS, ZOPE_TAL_NS, ZOPE_I18N_NS):
+            if uri in self._namespaces:
                 item = (key, uri, "xmlns")
             else:
                 item = (key, uri)
@@ -103,18 +109,12 @@
 
     def fixname(self, name):
         if ' ' in name:
-            uri, name = name.split(' ')
+            uri, name = name.split(' ', 1)
             prefix = self.nsDict[uri]
             prefixed = name
             if prefix:
                 prefixed = "%s:%s" % (prefix, name)
-            ns = 'x'
-            if uri == ZOPE_TAL_NS:
-                ns = 'tal'
-            elif uri == ZOPE_METAL_NS:
-                ns = 'metal'
-            elif uri == ZOPE_I18N_NS:
-                ns = 'i18n'
+            ns = self._namespaces.get(uri, "x")
             return (prefixed, name, ns)
         return (name, name, None)
 



More information about the Checkins mailing list