From 7aa8c050f97b4450a6dd6c1d67269b51ffe69164 Mon Sep 17 00:00:00 2001 From: Darren Ranalli Date: Thu, 25 May 2006 23:21:12 +0000 Subject: [PATCH] prevent printing of really long item repr's --- direct/src/showbase/GarbageReport.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/direct/src/showbase/GarbageReport.py b/direct/src/showbase/GarbageReport.py index 66c38739f2..e20d289b5b 100755 --- a/direct/src/showbase/GarbageReport.py +++ b/direct/src/showbase/GarbageReport.py @@ -1,5 +1,5 @@ from direct.directnotify.DirectNotifyGlobal import directNotify -from direct.showbase import PythonUtil +from direct.showbase.PythonUtil import gcDebugOn, safeRepr from direct.showbase.TaskThreaded import TaskThreaded, TaskThread import gc @@ -32,7 +32,7 @@ class GarbageReport(TaskThreaded): findCycles=findCycles, doneCallback=doneCallback) # do the garbage collection - wasOn = PythonUtil.gcDebugOn() + wasOn = gcDebugOn() oldFlags = gc.get_debug() if not wasOn: gc.set_debug(gc.DEBUG_SAVEALL) @@ -162,7 +162,12 @@ class GarbageReport(TaskThreaded): self.format = '%0' + '%s' % digits + 'i:%s \t%s' for i in xrange(self.index, self.numGarbage): id = self.garbageIds[i] - self.s.append(self.format % (id, type(self.parent.garbage[id]), self.parent.garbage[id])) + objStr = safeRepr(self.parent.garbage[id]) + maxLen = 500 + if len(objStr) > maxLen: + snip = '' + objStr = '%s%s' % (objStr[:(maxLen-len(snip))], snip) + self.s.append(self.format % (id, type(self.parent.garbage[id]), objStr)) if (not (i & 0x7F)) and (not self.timeLeft()): # we've run out of time, save the index self.index = i+1