Victor Subervi wrote:

global printTree = <function printTree>, allTrees = [{'prodCat1': {}, 'prodCat2': {}}, {'presCat1': {}, 'presCat2': {}}] /var/www/html/angrynates.com/cart/catTree.py <http://angrynates.com/cart/catTree.py> in printTree(allTrees=[{'prodCat1': {}, 'prodCat2': {}}, {'presCat1': {}, 'presCat2': {}}], level=0)
   12     for name in sorted(aTree.keys()):
   13       print '\t' * level, name
   14       tree.append("%s%s") % ("\t" * level, name)
   15       printTree(aTree[name], level + 1)
   16
tree = ['%s%s'], tree.append = <built-in method append of list object>, level = 0, name = 'prodCat1'

TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple'
args = ("unsupported operand type(s) for %: 'NoneType' and 'tuple'",)

But according to the same error, level = 0 [the NoneType, I presume] and name = 'prodCat1', which is most certainly not a tuple! Why the error?
TIA,
Victor

Come on Victor,

Given the error, you can easily see that
tree.append("%s%s") % ("\t" * level, name)
is involved in the error you get.

The correct thing may be
tree.append("%s%s" % ("\t" * level, name))

It should be easy for you to spot.
FYI, tree.append('%s%s') returns None, then ("\t" * level, name) is the tuple applied to None through the % operator. That is why you get the above error.

Cheers,

JM
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to