Skip to content

Commit 0ea5172

Browse files
committed
Consolidate compatibility imports. Closes #116.
1 parent 3150ed4 commit 0ea5172

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

importlib_metadata/_compat.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
if sys.version_info > (3,): # pragma: nocover
1010
import builtins
1111
from configparser import ConfigParser
12-
from contextlib import suppress
12+
import contextlib
1313
FileNotFoundError = builtins.FileNotFoundError
1414
IsADirectoryError = builtins.IsADirectoryError
1515
NotADirectoryError = builtins.NotADirectoryError
@@ -18,12 +18,14 @@
1818
else: # pragma: nocover
1919
from backports.configparser import ConfigParser
2020
from itertools import imap as map # type: ignore
21-
from contextlib2 import suppress # noqa
21+
import contextlib2 as contextlib
2222
FileNotFoundError = IOError, OSError
2323
IsADirectoryError = IOError, OSError
2424
NotADirectoryError = IOError, OSError
2525
PermissionError = IOError, OSError
2626

27+
suppress = contextlib.suppress
28+
2729
if sys.version_info > (3, 5): # pragma: nocover
2830
import pathlib
2931
else: # pragma: nocover

importlib_metadata/docs/changelog.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
importlib_metadata NEWS
33
=========================
44

5+
v1.5.1
6+
======
7+
8+
* Improve reliability and consistency of compatibility
9+
imports for contextlib and pathlib when running tests.
10+
Closes #116.
11+
512
v1.5.0
613
======
714

importlib_metadata/tests/fixtures.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,8 @@
55
import shutil
66
import tempfile
77
import textwrap
8-
import contextlib
98

10-
try:
11-
from contextlib import ExitStack
12-
except ImportError:
13-
from contextlib2 import ExitStack
14-
15-
try:
16-
import pathlib
17-
except ImportError:
18-
import pathlib2 as pathlib
9+
from .._compat import pathlib, contextlib
1910

2011

2112
__metaclass__ = type
@@ -58,7 +49,7 @@ def install_finder(finder):
5849

5950
class Fixtures:
6051
def setUp(self):
61-
self.fixtures = ExitStack()
52+
self.fixtures = contextlib.ExitStack()
6253
self.addCleanup(self.fixtures.close)
6354

6455

0 commit comments

Comments
 (0)