On 3/16/12 11:14 PM, Andrea Crotti wrote:

Very nice thanks, here it is
class ImportMock:

    def _my_import(self, *args, **kwargs):
        self.ls.append(args[0])
        self.orig(*args, **kwargs)

There's a bug here. You need to return the module object you got from calling self.orig(). By the way, you really should follow my example of getting the .__name__ from the module object instead of the argument in order to properly account for relative imports inside packages. __import__() will be passed the relative name, not the fully-qualified name.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to