def formatValue(self, value): if Any.isTuple( value ) or Any.isList( value ) or \ Any.isDict( value ): return self.formatIterable(value) else: return repr(value)
def formatIterable(self, value): Any.requireMsg( Any.isList(value) or Any.isTuple(value) or Any.isDict(value), 'unexpected datatype, value: %s' % str(value)) # use pprint module for formatting, however we do some further rework # on its output to achieve desired result self._pprintOut.seek(0) self._pprintOut.truncate() self._pprinter.pprint(value) tmp = self._pprintOut.getvalue().strip() firstChar = tmp[0] lastChar = tmp[-1] centerPart = tmp[1:-1].strip() if not value: result = '%s%s' % (firstChar, lastChar) else: result = '%s %s %s' % (firstChar, centerPart, lastChar) result = result.replace('\n', '\n' + self._indentationIter * ' ') return result