Controller attribute "counters" is a reserved keyword
Situation
This is a real world issue raised by Olivier Ulrich, when he tried to put a CounterController as an attribute inside another controller, and he called it "counters" (self.counters = myCounterController()
).
Explanation
lscnt()
will fail to iterate over counters when you've got a controller with a counters
attribute which is NOT a counter namespace.
Fix proposal
When iterating over controllers to look for counters, we should make sure that ctrl.counters is iterable, or that ctrl is a CounterController.