def _format(self, object, stream, indent, allowance, context, level): """ Recursive part of the formatting """ try: PrettyPrinter._format(self, object, stream, indent, allowance, context, level) except Exception as e: stream.write(_format_exception(e))
def _format(self, obj, stream, indent, allowance, context, level): if isinstance(obj, list): # If object is a list, crop a copy of it according to self.maxlist # and append an ellipsis if len(obj) > self.maxlist: cropped_obj = obj[:self.maxlist] + ['...'] return PrettyPrinter._format(self, cropped_obj, stream, indent, allowance, context, level) # Let the original implementation handle anything else # Note: No use of super() because PrettyPrinter is an old-style class return PrettyPrinter._format(self, obj, stream, indent, allowance, context, level)
def _format(self, thing, *args, **kwargs): try: as_dict = thing._asdict except AttributeError: if isinstance(thing, collections.OrderedDict): thing = dict(thing) else: thing = dict(as_dict()) return PrettyPrinter._format(self, thing, *args, **kwargs)
def _format(self, val, stream, indent, allowance, context, level): if ElidedWrapper.is_wrappable(val): elided_val = ElidedWrapper(val, self.threshold, indent) return self._format(elided_val, stream, indent, allowance, context, level) else: return PrettyPrinter._format(self, val, stream, indent, allowance, context, level)
def _format(self, val, stream, indent, allowance, context, level): if ElidedWrapper.is_wrappable(val): elided_val = ElidedWrapper( val, self.threshold, indent) return self._format( elided_val, stream, indent, allowance, context, level) else: return PrettyPrinter._format( self, val, stream, indent, allowance, context, level)
def _format(self, object, *args, **kwargs): from collections import Iterator if isinstance(object, Iterator): object = list(object) return _PrettyPrinter._format(self, object, *args, **kwargs)