(self, stack_info=False, stacklevel=1)
return rv
Find the stack frame of the caller so that we can note the source
        file name, line number and function name.
Find the stack frame of the caller so that we can note the source
        file name, line number and function name.
Find the stack frame of the caller so that we can note the source file name line number and function name .
def findCaller(self, stack_info=False, stacklevel=1):
        """
        Find the stack frame of the caller so that we can note the source
        file name, line number and function name.
        """
        f = currentframe()
        #On some versions of IronPython, currentframe() returns None if
        #IronPython isn't run with -X:Frames.
        if f is not None:
            f = f.f_back
        orig_f = f
        while f and stacklevel > 1:
            f = f.f_back
            stacklevel -= 1
        if not f:
            f = orig_f
        rv = "(unknown file)", 0, "(unknown function)", None
        while hasattr(f, "f_code"):
            co = f.f_code
            filename = os.path.normcase(co.co_filename)
            if filename == _srcfile:
                f = f.f_back
                continue
            sinfo = None
            if stack_info:
                sio = io.StringIO()
                sio.write('Stack (most recent call last):\n')
                traceback.print_stack(f, file=sio)
                sinfo = sio.getvalue()
                if sinfo[-1] == '\n':
                    sinfo = sinfo[:-1]
                sio.close()
            rv = (co.co_filename, f.f_lineno, co.co_name, sinfo)
            break
        return rv
def findCaller ( self , stack_info = False , stacklevel = 1 ) : f = currentframe ( ) #On some versions of IronPython, currentframe() returns None if #IronPython isn't run with -X:Frames. if f is not None : f = f . f_back orig_f = f while f and stacklevel > 1 : f = f . f_back stacklevel -= 1 if not f : f = orig_f rv = "(unknown file)" , 0 , "(unknown function)" , None while hasattr ( f , "f_code" ) : co = f . f_code filename = os . path . normcase ( co . co_filename ) if filename == _srcfile : f = f . f_back continue sinfo = None if stack_info : sio = io . StringIO ( ) sio . write ( 'Stack (most recent call last):\n' ) traceback . print_stack ( f , file = sio ) sinfo = sio . getvalue ( ) if sinfo [ - 1 ] == '\n' : sinfo = sinfo [ : - 1 ] sio . close ( ) rv = ( co . co_filename , f . f_lineno , co . co_name , sinfo ) break return rv