Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
community/salt: fix python3.10 incompatibilities
- Loading branch information
Showing
2 changed files
with
42 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
--- a/salt/_compat.py | ||
+++ b/salt/_compat.py | ||
@@ -11,19 +11,23 @@ | ||
else: | ||
import salt.ext.ipaddress as ipaddress | ||
|
||
+if sys.version_info >= (3, 10): | ||
+ # Python 3.10 will include a fix in importlib.metadata which allows us to | ||
+ # get the distribution of a loaded entry-point | ||
+ import importlib.metadata # pylint: disable=no-member,no-name-in-module | ||
+else: | ||
+ # importlib_metadata before version 3.3.0 does not include the functionality we need. | ||
+ try: | ||
+ import importlib_metadata | ||
|
||
-# importlib_metadata before version 3.3.0 does not include the functionality we need. | ||
-try: | ||
- import importlib_metadata | ||
- | ||
- importlib_metadata_version = [ | ||
- int(part) | ||
- for part in importlib_metadata.version("importlib_metadata").split(".") | ||
- if part.isdigit() | ||
- ] | ||
- if tuple(importlib_metadata_version) < (3, 3, 0): | ||
+ importlib_metadata_version = [ | ||
+ int(part) | ||
+ for part in importlib_metadata.version("importlib_metadata").split(".") | ||
+ if part.isdigit() | ||
+ ] | ||
+ if tuple(importlib_metadata_version) < (3, 3, 0): | ||
+ # Use the vendored importlib_metadata | ||
+ import salt.ext.importlib_metadata as importlib_metadata | ||
+ except ImportError: | ||
# Use the vendored importlib_metadata | ||
import salt.ext.importlib_metadata as importlib_metadata | ||
-except ImportError: | ||
- # Use the vendored importlib_metadata | ||
- import salt.ext.importlib_metadata as importlib_metadata |