equal
deleted
inserted
replaced
33 head, rest = name.split('.', 1) |
33 head, rest = name.split('.', 1) |
34 after = [rest] |
34 after = [rest] |
35 else: |
35 else: |
36 head = name |
36 head = name |
37 after = [] |
37 after = [] |
38 self.__dict__["_data"] = (head, globals, locals, after) |
38 object.__setattr__(self, "_data", (head, globals, locals, after)) |
39 self.__dict__["_module"] = None |
39 object.__setattr__(self, "_module", None) |
40 def _extend(self, name): |
40 def _extend(self, name): |
41 """add to the list of submodules to load""" |
41 """add to the list of submodules to load""" |
42 self._data[3].append(name) |
42 self._data[3].append(name) |
43 def _load(self): |
43 def _load(self): |
44 if not self._module: |
44 if not self._module: |
52 if not hasattr(mod, hx): |
52 if not hasattr(mod, hx): |
53 setattr(mod, hx, _demandmod(x, mod.__dict__, mod.__dict__)) |
53 setattr(mod, hx, _demandmod(x, mod.__dict__, mod.__dict__)) |
54 # are we in the locals dictionary still? |
54 # are we in the locals dictionary still? |
55 if locals and locals.get(head) == self: |
55 if locals and locals.get(head) == self: |
56 locals[head] = mod |
56 locals[head] = mod |
57 self.__dict__["_module"] = mod |
57 object.__setattr__(self, "_module", mod) |
58 def __repr__(self): |
58 def __repr__(self): |
59 return "<unloaded module '%s'>" % self._data[0] |
59 return "<unloaded module '%s'>" % self._data[0] |
60 def __call__(self, *args, **kwargs): |
60 def __call__(self, *args, **kwargs): |
61 raise TypeError("'unloaded module' object is not callable") |
61 raise TypeError("'unloaded module' object is not callable") |
62 def __getattr__(self, attr): |
62 def __getattr__(self, attr): |