Changeset 2762:912d0a9522d2 in livinglogic.python.xist

Show
Ignore:
Timestamp:
07/04/07 17:45:03 (12 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Simplify onlyoftype implemenation.

Check for Frag in onlyoftype too.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/ll/xist/xfind.py

    r2761 r2762  
    175175        if len(path) >= 2: 
    176176            parent = path[-2] 
    177             if isinstance(parent, (xsc.Element, xsc.Frag)): 
     177            if isinstance(parent, (xsc.Frag, xsc.Element)): 
    178178                return len(parent)==1 and parent[0] is path[-1] 
    179179        return False 
     
    188188class onlyoftype(Selector): 
    189189    def match(self, path): 
    190         if len(path) < 2: 
    191             return False 
    192         node = path[-1] 
    193         parent = path[-2] 
    194         if not isinstance(parent, xsc.Element): 
    195             return False 
    196         for child in parent.content: 
    197             if isinstance(child, node.__class__): 
    198                 if child is not node: 
    199                     return False 
    200         return True 
     190        if len(path) >= 2: 
     191            node = path[-1] 
     192            parent = path[-2] 
     193            if isinstance(parent, (xsc.Frag, xsc.Element)): 
     194                for child in parent.content: 
     195                    if isinstance(child, node.__class__): 
     196                        if child is not node: 
     197                            return False 
     198                return True 
     199        return False 
    201200 
    202201    def __repr__(self):