271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 | |
def join(self, name): |
name2items = self.__dict__.setdefault('_name2items', {}) |
try: |
res = name2items[name] |
except KeyError: |
p = self.fspath.join(name) |
res = None |
if p.check(file=1): |
if p.ext == '.py': |
-> res = self.Module(p, parent=self) |
elif p.ext == '.txt': |
res = self.DoctestFile(p, parent=self) |
elif p.check(dir=1): |
Directory = py.test.config.getvalue('Directory', p) |
res = Directory(p, parent=self) |
name2items[name] = res |
return res | |