[Subversion] / PEAK / src / peak / binding / components.py  

Diff of /PEAK/src/peak/binding/components.py

Parent Directory | Revision Log

version 2780, Sun Nov 1 00:47:05 2015 UTC version 2781, Sun Nov 1 00:48:40 2015 UTC
Line 285 
Line 285 
   
   
   
 def acquireComponent(component, name):  def acquireComponent(component, name, default=NOT_GIVEN):
   
     """Acquire 'name' relative to 'component', w/fallback to naming.lookup()      """Acquire 'name' relative to 'component', w/fallback to naming.lookup()
   
Line 312 
Line 312 
         return adapt(          return adapt(
             prev, IConfigurationRoot, NullConfigRoot              prev, IConfigurationRoot, NullConfigRoot
         ).nameNotFound(          ).nameNotFound(
             prev, name, component              prev, name, component, default=default
         )          )
   
   
Line 368 
Line 368 
   
   
     def findComponent(self, component, default=NOT_GIVEN):      def findComponent(self, component, default=NOT_GIVEN):
   
         if not self:  # empty name refers to self          if not self:  # empty name refers to self
             return component              return component
   
         parts = iter(self)          parts = iter(self)
         attr = parts.next()                 # first part          attr = parts.next()                 # first part
         pc = _getFirstPathComponent(attr)          pc = _getFirstPathComponent(attr)
           if pc:
               ob = pc(component)
         if pc:  ob = pc(component)          elif default is NOT_GIVEN:
         else:   ob = acquireComponent(component, attr)              ob = acquireComponent(component, attr) # let the error happen
           elif len(self)>1:
               ob = acquireComponent(component, attr, NOT_FOUND)
           else:
               return acquireComponent(component, attr, default)
   
         resolved = []          resolved = []
         append = resolved.append          append = resolved.append
   
         try:          try:
             for attr in parts:              for attr in parts:
                   if ob is NOT_FOUND: break
                 pc = _getNextPathComponent(attr)                  pc = _getNextPathComponent(attr)
                 if pc:  ob = pc(ob)                  if pc:  ob = pc(ob)
                 else:   ob = getattr(ob,attr)                  else:   ob = getattr(ob,attr)
                 append(attr)                  append(attr)
               else:
                   return ob
   
         except AttributeError:          except AttributeError:
               pass
   
             if default is not NOT_GIVEN:              if default is not NOT_GIVEN:
                 return default                  return default
Line 401 
Line 408 
                 resolvedObj = ob                  resolvedObj = ob
             )              )
   
         return ob  
   
   
   
   
   
   
 _getFirstPathComponent = dict( (  _getFirstPathComponent = dict( (
     ('',   getRootComponent),      ('',   getRootComponent),
     ('.',  lambda x:x),      ('.',  lambda x:x),


Generate output suitable for use with a patch program
Legend:
Removed from v.2780  
changed lines
  Added in v.2781

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help