degal/filesystem.py
changeset 117 a2e4562deaab
parent 109 66a01c0806f1
child 118 60b126ff0b74
equal deleted inserted replaced
116:2d3721b9ffd0 117:a2e4562deaab
   144         return Node(self, name=name)
   144         return Node(self, name=name)
   145  
   145  
   146     def nodepath (self) :
   146     def nodepath (self) :
   147         """
   147         """
   148             Returns the path of nodes from this node to the root node, inclusive
   148             Returns the path of nodes from this node to the root node, inclusive
       
   149 
   149             >>> list(Node(Root('/'), 'foo').subnode('bar').nodepath())
   150             >>> list(Node(Root('/'), 'foo').subnode('bar').nodepath())
   150             [Root('/'), Node('/', 'foo'), Node('/foo', 'bar')]
   151             [Root('/'), Node('/', 'foo'), Node('/foo', 'bar')]
       
   152 
       
   153             XXX: circular reference hell?
   151         """
   154         """
   152         
   155         
   153         # recursive generator
   156         # recursive generator
   154         for node in self.parent.nodepath() :
   157         for node in self.parent.nodepath() :
   155             yield node
   158             yield node