def __get_caller()

in testslide/strict_mock.py [0:0]


    def __get_caller(self, depth: int) -> Optional[str]:
        # Doing inspect.stack will retrieve the whole stack, including context
        # and that is really slow, this only retrieves the minimum, and does
        # not read the file contents.
        caller_frame = self.__get_caller_frame(depth)
        # loading the context ends up reading files from disk and that might block
        # the event loop, so we don't do it.
        frameinfo = inspect.getframeinfo(caller_frame, context=0)
        filename = frameinfo.filename
        lineno = frameinfo.lineno
        if self.TRIM_PATH_PREFIX:
            split = filename.split(self.TRIM_PATH_PREFIX)
            if len(split) == 2 and not split[0]:
                filename = split[1]
        if os.path.exists(filename):
            return "{}:{}".format(filename, lineno)
        else:
            return None