diff options
author | Eric Snow <ericsnowcurrently@gmail.com> | 2013-12-10 22:16:41 -0700 |
---|---|---|
committer | Eric Snow <ericsnowcurrently@gmail.com> | 2013-12-10 22:16:41 -0700 |
commit | b282b3d804165d704130fabf0f609d5dd46c1ed2 (patch) | |
tree | 99d46706ace4b5596f64302170e52b066c484463 /Lib | |
parent | 85cce1eac7a130412e7673208494f30c04bf4b33 (diff) | |
download | cpython-git-b282b3d804165d704130fabf0f609d5dd46c1ed2.tar.gz |
Issue #18864: Add a setter for ModuleSpec.has_location.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/importlib/_bootstrap.py | 4 | ||||
-rw-r--r-- | Lib/test/test_importlib/test_spec.py | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py index 6b8f979b8b..baa6c162c6 100644 --- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -841,6 +841,10 @@ class ModuleSpec: def has_location(self): return self._set_fileattr + @has_location.setter + def has_location(self, value): + self._set_fileattr = bool(value) + def spec_from_loader(name, loader, *, origin=None, is_package=None): """Return a module spec based on various loader methods.""" diff --git a/Lib/test/test_importlib/test_spec.py b/Lib/test/test_importlib/test_spec.py index 8880ffcbd8..2af47f4b99 100644 --- a/Lib/test/test_importlib/test_spec.py +++ b/Lib/test/test_importlib/test_spec.py @@ -116,6 +116,13 @@ class ModuleSpecTests: self.assertIs(spec.cached, None) self.assertFalse(spec.has_location) + def test_has_location_setter(self): + spec = self.machinery.ModuleSpec(self.name, self.loader, + origin='somewhere') + self.assertFalse(spec.has_location) + spec.has_location = True + self.assertTrue(spec.has_location) + def test_equality(self): other = type(sys.implementation)(name=self.name, loader=self.loader, |