Use tomllib on Python 3.11

This commit is contained in:
hauntsaninja 2022-03-08 01:08:52 -08:00
parent 4a8f8ada43
commit 02a338f7df
2 changed files with 8 additions and 4 deletions

View File

@ -46,7 +46,7 @@ install_requires =
packaging packaging
pluggy>=0.12,<2.0 pluggy>=0.12,<2.0
py>=1.8.2 py>=1.8.2
tomli>=1.0.0 tomli>=1.0.0;python_version<"3.11"
atomicwrites>=1.0;sys_platform=="win32" atomicwrites>=1.0;sys_platform=="win32"
colorama;sys_platform=="win32" colorama;sys_platform=="win32"
importlib-metadata>=0.12;python_version<"3.8" importlib-metadata>=0.12;python_version<"3.8"

View File

@ -1,4 +1,5 @@
import os import os
import sys
from pathlib import Path from pathlib import Path
from typing import Dict from typing import Dict
from typing import Iterable from typing import Iterable
@ -64,12 +65,15 @@ def load_config_dict_from_file(
# '.toml' files are considered if they contain a [tool.pytest.ini_options] table. # '.toml' files are considered if they contain a [tool.pytest.ini_options] table.
elif filepath.suffix == ".toml": elif filepath.suffix == ".toml":
import tomli if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib
toml_text = filepath.read_text(encoding="utf-8") toml_text = filepath.read_text(encoding="utf-8")
try: try:
config = tomli.loads(toml_text) config = tomllib.loads(toml_text)
except tomli.TOMLDecodeError as exc: except tomllib.TOMLDecodeError as exc:
raise UsageError(f"{filepath}: {exc}") from exc raise UsageError(f"{filepath}: {exc}") from exc
result = config.get("tool", {}).get("pytest", {}).get("ini_options", None) result = config.get("tool", {}).get("pytest", {}).get("ini_options", None)