summaryrefslogtreecommitdiff
path: root/contrib/python/pypodman/lib/future_abstract.py
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2018-07-12 19:26:14 -0700
committerJhon Honce <jhonce@redhat.com>2018-07-13 12:50:12 -0700
commit74ccd9ce5f29a1df4ffe70b4d8bd00c29d5d9d15 (patch)
tree75ba256d70545d79aa61d7c57c20df886be1555f /contrib/python/pypodman/lib/future_abstract.py
parent44b523c946c88e540b50d7ba59f441b5f8e0bad0 (diff)
downloadpodman-74ccd9ce5f29a1df4ffe70b4d8bd00c29d5d9d15.tar.gz
podman-74ccd9ce5f29a1df4ffe70b4d8bd00c29d5d9d15.tar.bz2
podman-74ccd9ce5f29a1df4ffe70b4d8bd00c29d5d9d15.zip
Update python directories to better support setup.py
Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'contrib/python/pypodman/lib/future_abstract.py')
-rw-r--r--contrib/python/pypodman/lib/future_abstract.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/python/pypodman/lib/future_abstract.py b/contrib/python/pypodman/lib/future_abstract.py
new file mode 100644
index 000000000..75a1d42db
--- /dev/null
+++ b/contrib/python/pypodman/lib/future_abstract.py
@@ -0,0 +1,29 @@
+"""Utilities for with-statement contexts. See PEP 343."""
+
+import abc
+
+import _collections_abc
+
+try:
+ from contextlib import AbstractContextManager
+except ImportError:
+ # Copied from python3.7 library as "backport"
+ class AbstractContextManager(abc.ABC):
+ """An abstract base class for context managers."""
+
+ def __enter__(self):
+ """Return `self` upon entering the runtime context."""
+ return self
+
+ @abc.abstractmethod
+ def __exit__(self, exc_type, exc_value, traceback):
+ """Raise any exception triggered within the runtime context."""
+ return None
+
+ @classmethod
+ def __subclasshook__(cls, C):
+ """Check whether subclass is considered a subclass of this ABC."""
+ if cls is AbstractContextManager:
+ return _collections_abc._check_methods(C, "__enter__",
+ "__exit__")
+ return NotImplemented