Walk a directory tree (optionally recursively)

def _walker(self, path):
        """Walk a directory tree (optionally recursively)"""
        for root, dnames, fnames in _walk(self.recursion)(path):
            yield (root, dnames, fnames)