def call_inject(self, func, **ka):
        """ Call a function and inject missing dependencies. If you want to call the same function multiple times,
            consider :method:`wrap`ing it.
        """
        for key, producer in self.__cache[func]:
            if key not in ka:
                ka[key] = producer()
        return func(**ka)
dataset/ETHPy150Open bottlepy/bottle-inject/bottle_inject.py/Injector.call_inject/original