comparison mercurial/demandimport.py @ 31644:f80d9ddc40f3

py3: abuse r'' to preserve str-ness of literals passed to __setattr__()
author Yuya Nishihara <yuya@tcha.org>
date Sun, 26 Mar 2017 16:33:12 +0900
parents 1914db1b7d9e
children 3e03a4b9ec8c
comparison
equal deleted inserted replaced
31643:6ceb3c4c3ab6 31644:f80d9ddc40f3
74 head, rest = name.split('.', 1) 74 head, rest = name.split('.', 1)
75 after = [rest] 75 after = [rest]
76 else: 76 else:
77 head = name 77 head = name
78 after = [] 78 after = []
79 object.__setattr__(self, "_data", 79 object.__setattr__(self, r"_data",
80 (head, globals, locals, after, level, set())) 80 (head, globals, locals, after, level, set()))
81 object.__setattr__(self, "_module", None) 81 object.__setattr__(self, r"_module", None)
82 def _extend(self, name): 82 def _extend(self, name):
83 """add to the list of submodules to load""" 83 """add to the list of submodules to load"""
84 self._data[3].append(name) 84 self._data[3].append(name)
85 85
86 def _addref(self, name): 86 def _addref(self, name):
136 for modname in modrefs: 136 for modname in modrefs:
137 modref = sys.modules.get(modname, None) 137 modref = sys.modules.get(modname, None)
138 if modref and getattr(modref, head, None) == self: 138 if modref and getattr(modref, head, None) == self:
139 setattr(modref, head, mod) 139 setattr(modref, head, mod)
140 140
141 object.__setattr__(self, "_module", mod) 141 object.__setattr__(self, r"_module", mod)
142 142
143 def __repr__(self): 143 def __repr__(self):
144 if self._module: 144 if self._module:
145 return "<proxied module '%s'>" % self._data[0] 145 return "<proxied module '%s'>" % self._data[0]
146 return "<unloaded module '%s'>" % self._data[0] 146 return "<unloaded module '%s'>" % self._data[0]