On Jun 5, 10:33 pm, Alain Ketterlin <al...@dpt-info.u-strasbg.fr> wrote: > richard <pullenjenn...@gmail.com> writes: > >> > An instance of TestArray > >> > a=a > >> > b=b > >> > c=c > >> > List of 2 A elements: > >> > Instance of A element > >> > a=1 > >> > b=2 > >> > c=3 > >> > Instance of A element > >> > d=1 > >> > e=2 > >> > f=3 > >> > List of 1 B elements > >> > Instance of B element > >> > a=1 > >> > b=2 > >> > c=3 > >> > List of 2 C elements > >> > Instance of C element > >> > a=1 > >> > b=2 > >> > c=3 > >> > Instance of C element > >> > a=1 > >> > b=2 > >> > c=3 > > [...] > > > Hi Alain thanks for the reply. With regards to the missing case "An > > Instance of" im not sure where/ how that is working as the case i put > > in originally "Instance of" is in the file and been handled in the > > previous case. > > Both cases are different in your example above. Top level elements are > labeled "An instance ...", whereas "inner" instances are labeled > "Instance of ...". > > > Also when running the final solution im getting a list of [None, None] > > as the final stack? > > There's only one way this can happen: by falling through to the last > case of build(). Check the regexps etc. again. > > > just busy debugging it to see whats going wrong. But sorry should have > > been clearer with regards to the format mentioned above. The objects > > are been printed out as dicts so where you put in > > > elif "An Instance of" in couple[0]: > > return dict(couple[1]) > > > should still be ? > > elif "Instance of" in couple[0]: > > match = re.search("Instance of (.+) element", couple[0]) > > return ("attr_%s" % match.group(1),Stanza(couple[1])) # > > instantiating new stanza object and setting attributes. > > Your last "Instance of..." case is correct, but "An instance..." is > different, because there's no containing object, so it's probably more > like: return Stanza(couple[1]). > > -- Alain.
A big thank you to everyone who has helped me tackle / shed light on this problem it is working great. Much appreciated. -- http://mail.python.org/mailman/listinfo/python-list