def __repr__(self): # Lots of Panda classes have an output function defined that takes an Ostream # We create a LineStream for the output function to write to, then we extract # the string out of it and return it as our str try: from pandac import LineStream lineStream = LineStream.LineStream() self.output(lineStream) baseRepr = lineStream.getLine() except AssertionError, e: raise AssertionError, e
def __str__(self): # This is a more complete version of printing which shows the object type # and pointer, plus the output from write() or output() whichever is defined # Print this info for all objects baseRepr = ('[' + self.__class__.__name__ + ' at: ' + repr(self.this) + ']') # Lots of Panda classes have an write or output function defined that takes an Ostream # We create a LineStream for the write or output function to write to, then we extract # the string out of it and return it as our repr from pandac import LineStream lineStream = LineStream.LineStream() try: # First try the write function, that is the better one self.write(lineStream) while lineStream.isTextAvailable(): baseRepr = baseRepr + '\n' + lineStream.getLine() except AssertionError, e: raise AssertionError, e