diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2019-06-17 17:57:26 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2019-06-17 18:33:58 -0400 |
commit | bd76d83ad30c2f3e2ecc596bc4df44de2e681b6c (patch) | |
tree | a688fa0cf0d62bef8d8c761fd7d705dcb4403b64 /coverage/backward.py | |
parent | 014786bd145127765397f752dab0ff2307b9c147 (diff) | |
download | python-coveragepy-git-bd76d83ad30c2f3e2ecc596bc4df44de2e681b6c.tar.gz |
Use an object instead of a dict for the report data
Diffstat (limited to 'coverage/backward.py')
-rw-r--r-- | coverage/backward.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/coverage/backward.py b/coverage/backward.py index 1d92469d..05fa261e 100644 --- a/coverage/backward.py +++ b/coverage/backward.py @@ -155,6 +155,24 @@ except AttributeError: PYC_MAGIC_NUMBER = imp.get_magic() +try: + from types import SimpleNamespace +except ImportError: + # The code from https://docs.python.org/3/library/types.html#types.SimpleNamespace + class SimpleNamespace: + """Python implementation of SimpleNamespace, for Python 2.""" + def __init__(self, **kwargs): + self.__dict__.update(kwargs) + + def __repr__(self): + keys = sorted(self.__dict__) + items = ("{}={!r}".format(k, self.__dict__[k]) for k in keys) + return "{}({})".format(type(self).__name__, ", ".join(items)) + + def __eq__(self, other): + return self.__dict__ == other.__dict__ + + def invalidate_import_caches(): """Invalidate any import caches that may or may not exist.""" if importlib and hasattr(importlib, "invalidate_caches"): |