def print_node_structure(self, nodes, *extra):
        def _rec(nodes, level=0):
            ident = level * '  '
            for node in nodes:
                raw_attrs = [(bit, getattr(node, bit, node.attr.get(bit, "unknown"))) for bit in extra]
                attrs = ', '.join(['%s: %r' % data for data in raw_attrs])
                print((ident, node.title, attrs) % u"%s%s: %s")
                _rec(node.children, level + 1)

        _rec(nodes)
dataset/ETHPy150Open divio/django-cms/cms/test_utils/testcases.py/BaseCMSTestCase.print_node_structure/swapped operands of `%`