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]
                     obj = self._type2objs[typ][i]
                     s += '\nOBJ: %s\n' % safeRepr(obj)
                     s += '\nOBJ: %s\n' % safeRepr(obj)
                     referrers = gc.get_referrers(obj)
                     referrers = gc.get_referrers(obj)
+                    s += '%s REFERRERS:\n' % len(referrers)
                     if len(referrers):
                     if len(referrers):
-                        s += getNumberedTypedString(referrers, maxLen=80)
+                        s += getNumberedTypedString(referrers, maxLen=80,
+                                                    numPrefix='REF')
                     else:
                     else:
                         s += '<No Referrers>'
                         s += '<No Referrers>'
         return s
         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:
     elif type(obj) is types.StringType:
         maxLen *= strFactor
         maxLen *= strFactor
         if len(obj) > maxLen:
         if len(obj) > maxLen:
-            return obj[:maxLen]
+            return repr(obj[:maxLen])
         else:
         else:
-            return obj
+            return repr(obj)
     else:
     else:
         return safeRepr(obj)
         return safeRepr(obj)
 
 
@@ -2194,7 +2194,7 @@ def itype(obj):
     else:
     else:
         return t
         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,
     """get a string that has each item of the list on its own line,
     and each item is numbered on the left from zero"""
     and each item is numbered on the left from zero"""
     digits = 0
     digits = 0
@@ -2203,7 +2203,7 @@ def getNumberedTypedString(items, maxLen=5000):
         digits += 1
         digits += 1
         n /= 10
         n /= 10
     digits = digits
     digits = digits
-    format = '%0' + '%s' % digits + 'i:%s \t%s'
+    format = numPrefix + '%0' + '%s' % digits + 'i:%s \t%s'
     first = True
     first = True
     s = ''
     s = ''
     for i in xrange(len(items)):
     for i in xrange(len(items)):