When I look at the dictionary generated with:
import trace
tracer = trace.Trace(countfuncs=True)
tracer.runfunc(callableObj, *args, **kwargs)
print tracer.results().calledfuncs
on one machine (python 1.3) I get a strange syntax for the keys of the printed dictionary; a key looks like:
('/path/to/file.py', 'module', "SomeClass'>.some_method")
The thing I wonder about are the characters: ‘>
On another machine with python 1.3.1 the third tuple-entry looks like expected, without the ‘> bit.
Have you got an idea where this comes from and why its there on one machine and not on another?
Are you sure you didn’t mean Python 2.3?
In trace.py, the classname is calculated from:
Usually
str(someclass)gives you something likemodule.klassso splitting at the dot gives you a clean name for the class. For some reason the class on the system you are looking at is giving a repr that ends with the string you are seeing, so perhaps it was something like<proxy for 'module.klass'>.I would try editing trace.py on that machine to (temporarily) not split the clsname variable and then you might be able to figure out what it should really say.