bpo-35843: Implement __getitem__ for _NamespacePath (GH-11690)
This commit is contained in:
parent
8a1bab9291
commit
ab9b31f947
|
@ -1163,6 +1163,9 @@ class _NamespacePath:
|
||||||
def __iter__(self):
|
def __iter__(self):
|
||||||
return iter(self._recalculate())
|
return iter(self._recalculate())
|
||||||
|
|
||||||
|
def __getitem__(self, index):
|
||||||
|
return self._recalculate()[index]
|
||||||
|
|
||||||
def __setitem__(self, index, path):
|
def __setitem__(self, index, path):
|
||||||
self._path[index] = path
|
self._path[index] = path
|
||||||
|
|
||||||
|
|
|
@ -332,6 +332,12 @@ class LoaderTests(NamespacePackageTest):
|
||||||
self.assertIsNone(foo.__spec__.origin)
|
self.assertIsNone(foo.__spec__.origin)
|
||||||
self.assertIsNone(foo.__file__)
|
self.assertIsNone(foo.__file__)
|
||||||
|
|
||||||
|
def test_path_indexable(self):
|
||||||
|
# bpo-35843
|
||||||
|
import foo
|
||||||
|
expected_path = os.path.join(self.root, 'portion1', 'foo')
|
||||||
|
self.assertEqual(foo.__path__[0], expected_path)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Implement ``__getitem__`` for ``_NamespacePath``. Patch by Anthony Sottile.
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue