SVN: r23911 - trunk/quixote

Neil Schemenauer <nascheme-fVcApmY9cLvQ3/1i3zOLAti2O/[email protected]> Wed, 07 Apr 2004 10:32:57 -0400
Newsgroups gmane.comp.web.quixote.cvs
Message-ID <[email protected]>
Author: nascheme
Date: 2004-04-07 10:32:57 -0400 (Wed, 07 Apr 2004)
New Revision: 23911

Modified:
   trunk/quixote/publish.py
Log:
Optimize and inline _lookup_export().


Modified: trunk/quixote/publish.py
===================================================================
--- trunk/quixote/publish.py	2004-04-07 13:39:44 UTC (rev 23910)
+++ trunk/quixote/publish.py	2004-04-07 14:32:57 UTC (rev 23911)
@@ -772,7 +772,21 @@
     # _q_lookup() doesn't exist or is None, a TraversalError is
     # raised.
 
-    internal_name = _lookup_export(component, container._q_exports)
+    # Check if component is in _q_exports.  The elements in
+    # _q_exports can be strings or 2-tuples mapping external names
+    # to internal names.
+    if component in container._q_exports or component == '_q_index':
+        internal_name = component
+    else:
+        # check for an explict external to internal mapping
+        for value in container._q_exports:
+           if type(value) is types.TupleType:
+               if value[0] == component:
+                   internal_name = value[1]
+                   break
+        else:
+            internal_name = None
+        
     if internal_name is None:
         # Component is not in exports list.
         object = None