hi, recursion will be the bane of my existence. i have something like the following data structure: base_id node_num type par children in this, base id is a unique id, node num is unique for a user, par is the node num from which the instance of the node num derives, and children are the node nums that derive from the node num. the type is either a branch or a leaf. a branch can have either more branches or leaves, but not both. (in case it is not obvious, the data structure is building a tree-list). but i need to be able to traverse the tree outside of the tree-list structure to solve my problem. base_id type node_num par children 1010 B 2 1 [3, 5, 10, 25] 1011 B 3 2 [6, 7, 8, 9] 1912 L 5 2 [] 1913 L 6 3 [] 2011 L 7 3 [] 2012 L 8 3 [] 2244 L 9 3 [] 2250 B 10 2 [11, 12, 13] 2251 B 11 10 [] Rules and coding: A type of B means a branch, a type of L is a leaf. A node of a type B cannot contain both nodes of type B and type L, so a B type with the first element of a B cannot contain subsequent Leaves. And a B type with the first element of L cannot contain any other B types. i have written a method that iterates through a list of the children. if the first child points to a node that is a terminal child (L), it stops and prints out the identification of the child. it will also expand out a list of nodes containing terminal children [ good heavens this sounds grim! ] but when i try to get it to expand those sub-nodes of type B i get an error stating excessive recursion; yet, if i look (via view source) at the error screen, the source shows the expansion down to a single sub-branch, and no lower; and it never displays the error trace. a strangeness that has been popping up recently -- i.e., an error, whose source shows what i expected the method to do, but does not include an error trace. i would post the relevant code, but it is in two files and rather long. if anyone has had experience with recursion in zope and can lend some advice, or point out a how-to, i would very much appreciate it. many thanks for any pointers. ciao! greg. Gregory Haley DBA/Web Programmer Venaca, LLC.
participants (1)
-
ghaley@mail.venaca.com