Browse Source

added REF prefix to referent numbers

Darren Ranalli 19 years ago
parent
commit
4071b0cbbe
2 changed files with 7 additions and 5 deletions
  1. 3 1
      direct/src/showbase/ObjectPool.py
  2. 4 4
      direct/src/showbase/PythonUtil.py

+ 3 - 1
direct/src/showbase/ObjectPool.py

@@ -127,8 +127,10 @@ class ObjectPool:
                     obj = self._type2objs[typ][i]
                     s += '\nOBJ: %s\n' % safeRepr(obj)
                     referrers = gc.get_referrers(obj)
+                    s += '%s REFERRERS:\n' % len(referrers)
                     if len(referrers):
-                        s += getNumberedTypedString(referrers, maxLen=80)
+                        s += getNumberedTypedString(referrers, maxLen=80,
+                                                    numPrefix='REF')
                     else:
                         s += '<No Referrers>'
         return s

+ 4 - 4
direct/src/showbase/PythonUtil.py

@@ -2039,9 +2039,9 @@ def fastRepr(obj, maxLen=200, strFactor=10, _visitedIds=None):
     elif type(obj) is types.StringType:
         maxLen *= strFactor
         if len(obj) > maxLen:
-            return obj[:maxLen]
+            return repr(obj[:maxLen])
         else:
-            return obj
+            return repr(obj)
     else:
         return safeRepr(obj)
 
@@ -2194,7 +2194,7 @@ def itype(obj):
     else:
         return t
 
-def getNumberedTypedString(items, maxLen=5000):
+def getNumberedTypedString(items, maxLen=5000, numPrefix=''):
     """get a string that has each item of the list on its own line,
     and each item is numbered on the left from zero"""
     digits = 0
@@ -2203,7 +2203,7 @@ def getNumberedTypedString(items, maxLen=5000):
         digits += 1
         n /= 10
     digits = digits
-    format = '%0' + '%s' % digits + 'i:%s \t%s'
+    format = numPrefix + '%0' + '%s' % digits + 'i:%s \t%s'
     first = True
     s = ''
     for i in xrange(len(items)):