26 lines
649 B
Python
Executable File
26 lines
649 B
Python
Executable File
class Report(object):
|
|
def __init__(self):
|
|
self._indent = 0
|
|
self._parent = None
|
|
self._title = 'None'
|
|
self._title_printed = False
|
|
|
|
def title(self, title):
|
|
self._title = title
|
|
|
|
def sub(self):
|
|
report = Report()
|
|
report._indent = self._indent + 1
|
|
report._parent = self
|
|
return report
|
|
|
|
def print_title(self):
|
|
if self._parent and not self._parent._title_printed:
|
|
self._parent.print_title()
|
|
self.print_text("[%s]" % (self._title, ))
|
|
self._title_printed = True
|
|
|
|
def print_text(self, text):
|
|
print (self._indent*' ') + text
|
|
|