mercurial/demandimport.py
changeset 4626 eb99af2d845e
parent 4126 b9dcee25be8e
child 4631 e3afa670e484
equal deleted inserted replaced
4624:23d9f0e66711 4626:eb99af2d845e
    94     else:
    94     else:
    95         # from a import b,c,d
    95         # from a import b,c,d
    96         mod = _origimport(name, globals, locals)
    96         mod = _origimport(name, globals, locals)
    97         # recurse down the module chain
    97         # recurse down the module chain
    98         for comp in name.split('.')[1:]:
    98         for comp in name.split('.')[1:]:
       
    99             if not hasattr(mod, comp):
       
   100                 setattr(mod, comp, _demandmod(comp, mod.__dict__, mod.__dict__))
    99             mod = getattr(mod, comp)
   101             mod = getattr(mod, comp)
   100         for x in fromlist:
   102         for x in fromlist:
   101             # set requested submodules for demand load
   103             # set requested submodules for demand load
   102             if not(hasattr(mod, x)):
   104             if not(hasattr(mod, x)):
   103                 setattr(mod, x, _demandmod(x, mod.__dict__, mod.__dict__))
   105                 setattr(mod, x, _demandmod(x, mod.__dict__, mod.__dict__))