Files
podman/contrib/python/cmd/lib/future_abstract.py
Jhon Honce 44b523c946 remote python client for podman
* Use podman library for access
* Verbose error checking
* Planned windows and macosx ports

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2018-07-13 11:29:28 -07:00

30 lines
991 B
Python

"""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