1.1 --- a/moinformat.py Thu Apr 27 18:13:53 2017 +0200
1.2 +++ b/moinformat.py Thu Apr 27 18:43:31 2017 +0200
1.3 @@ -84,6 +84,12 @@
1.4 if text:
1.5 self.append(text)
1.6
1.7 + def __str__(self):
1.8 + return self.prettyprint()
1.9 +
1.10 + def prettyprint(self, indent=""):
1.11 + pass
1.12 +
1.13 class Region(Container):
1.14
1.15 "A region of the page."
1.16 @@ -107,6 +113,12 @@
1.17 def __repr__(self):
1.18 return "Region(%r, %r, %r)" % (self.nodes, self.level, self.type)
1.19
1.20 + def prettyprint(self, indent=""):
1.21 + l = ["%sRegion: level=%d type=%s" % (indent, self.level, self.type)]
1.22 + for node in self.nodes:
1.23 + l.append(node.prettyprint(indent + " "))
1.24 + return "\n".join(l)
1.25 +
1.26 def to_string(self, out):
1.27 out.start_region(self.level, self.type)
1.28 for node in self.nodes:
1.29 @@ -124,6 +136,12 @@
1.30 def __repr__(self):
1.31 return "Block(%r)" % self.nodes
1.32
1.33 + def prettyprint(self, indent=""):
1.34 + l = ["%sBlock: final=%s" % (indent, self.final)]
1.35 + for node in self.nodes:
1.36 + l.append(node.prettyprint(indent + " "))
1.37 + return "\n".join(l)
1.38 +
1.39 def to_string(self, out):
1.40 out.start_block(self.final)
1.41 for node in self.nodes:
1.42 @@ -143,6 +161,9 @@
1.43 def __repr__(self):
1.44 return "Text(%r)" % self.s
1.45
1.46 + def prettyprint(self, indent=""):
1.47 + return "%sText: %r" % (indent, self.s)
1.48 +
1.49 def to_string(self, out):
1.50 out.text(self.s)
1.51
2.1 --- a/tests/test_parser.py Thu Apr 27 18:13:53 2017 +0200
2.2 +++ b/tests/test_parser.py Thu Apr 27 18:43:31 2017 +0200
2.3 @@ -61,4 +61,10 @@
2.4 print serialise(d, HTMLSerialiser)
2.5 print "----"
2.6
2.7 +for d in [d0, d1, d2, d3]:
2.8 + print
2.9 + print "----"
2.10 + print d.prettyprint()
2.11 + print "----"
2.12 +
2.13 # vim: tabstop=4 expandtab shiftwidth=4