From f97d0750a91e53bec387528344c1ca3bf86e1d08 Mon Sep 17 00:00:00 2001 From: Frazer McLean Date: Mon, 16 Sep 2019 22:24:53 +0200 Subject: TOML support for pyproject.toml and other config files Squashed and rebased from https://github.com/nedbat/coveragepy/pull/699 Missing getfloat TOMLConfigParser -> TomlConfigParser fix getfloat for int Move TomlConfigParser Add name to contributors Import toml in backward.py fix indentation Don't ignore TomlDecodeError Raise if TomlConfigParser is used without toml installed Add tests for TOML config Fix test on Python 2 Mention toml support in documentation. --- coverage/backward.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'coverage/backward.py') diff --git a/coverage/backward.py b/coverage/backward.py index 58759545..e051fa55 100644 --- a/coverage/backward.py +++ b/coverage/backward.py @@ -6,6 +6,7 @@ # This file does tricky stuff, so disable a pylint warning. # pylint: disable=unused-import +import os import sys from coverage import env @@ -26,6 +27,11 @@ try: except ImportError: import configparser +try: + import toml +except ImportError: + toml = None + # What's a string called? try: string_class = basestring @@ -55,6 +61,15 @@ try: except ImportError: from threading import get_ident as get_thread_id +try: + os.PathLike +except AttributeError: + # This is Python 2 and 3 + path_types = (bytes, string_class, unicode_class) +else: + # 3.6+ + path_types = (bytes, str, os.PathLike) + # shlex.quote is new, but there's an undocumented implementation in "pipes", # who knew!? try: -- cgit v1.2.1