After a long day it all works. It's checked in to CVS in the "hotshot_timer-branch". The way it works is that the object returned by
_hotshot.profiler(filename) now has an additional method
settimer(timer). The timer is any callable object that returns a number or a sequence of numbers who's sum is the time as per the library reference text. It has more overhead then the buildin timer, certainly when a sequence is returned. But that's the price you pay for flexibility.
When used form the
hprofile module (wich is the replacement for
profile) this is not a problem however since that is what
calibrate() is for. The overhead is still supposed to be reasonably fixed.
Once more the writing of unit tests did help to fix a lot of initial bugs. Nice.
Just some tweaking and testing is left to do with
hprofile and it's tests now. Then the wrapper will be (hopefully) complete. So next week I should, with a bit of luck, be able to start on the
pstats wrapper wich would, if all is ok, also be the last part of my project to finish. Appart from cleaning up of course...all the fixme's etc need to disappear!