From e5af828867773710dc04c9b1c446808517d73413 Mon Sep 17 00:00:00 2001 From: Siarhei Siniak Date: Wed, 30 Apr 2025 10:43:11 +0300 Subject: [PATCH] [+] improve toml compatibility for python 3.10 --- .../pr34/commands_typed/cli_bootstrap.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/python/online/fxreader/pr34/commands_typed/cli_bootstrap.py b/python/online/fxreader/pr34/commands_typed/cli_bootstrap.py index 2190123..aec1579 100644 --- a/python/online/fxreader/pr34/commands_typed/cli_bootstrap.py +++ b/python/online/fxreader/pr34/commands_typed/cli_bootstrap.py @@ -8,12 +8,25 @@ import sys import subprocess import os import logging -import tomllib + from typing import (Self, Optional, Any,) logger = logging.getLogger(__name__) +def toml_load(f: io.BytesIO) -> Any: + try: + import tomllib + return tomllib.load(f) + except: + pass + + try: + import tomli + return tomli.load(f) + except: + pass + @dataclasses.dataclass class PyProject: path: pathlib.Path @@ -28,7 +41,7 @@ def pyproject_load( d: pathlib.Path, ) -> PyProject: with io.open(d, 'rb') as f: - content = tomllib.load(f) + content = toml_load(f) assert isinstance(content, dict)