1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-22 10:45:15 +03:00
aports/testing/py3-lsp-black/tomllib.patch
2023-02-07 20:21:41 +01:00

79 lines
2.4 KiB
Diff

Patch-Source: https://github.com/python-lsp/python-lsp-black/pull/40
--
From 80d34ca4f35baa654e5f1fee7860214950f1ae37 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Thu, 26 Jan 2023 12:07:11 +0100
Subject: [PATCH] Replace the obsolete toml package with tomllib/tomli
Use the modern `tomllib` module (in Python 3.11+) or its drop-in
replacement `tomli` (for older Python versions) instead of the obsolete
`toml` module. The latter is unmaintained and does not support TOML
1.0.
---
.pre-commit-config.yaml | 2 +-
pylsp_black/plugin.py | 12 +++++++++---
setup.cfg | 7 +++++--
3 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/pylsp_black/plugin.py b/pylsp_black/plugin.py
index abc4277..08cf4da 100644
--- a/pylsp_black/plugin.py
+++ b/pylsp_black/plugin.py
@@ -1,15 +1,20 @@
import logging
import os
+import sys
from functools import lru_cache
from pathlib import Path
from typing import Dict, Optional
import black
-import toml
from pylsp import hookimpl
from pylsp._utils import get_eol_chars
from pylsp.config.config import Config
+if sys.version_info >= (3, 11):
+ import tomllib
+else:
+ import tomli as tomllib
+
logger = logging.getLogger(__name__)
@@ -152,8 +157,9 @@ def _load_config(filename: str, client_config: Config) -> Dict:
return defaults
try:
- pyproject_toml = toml.load(str(pyproject_filename))
- except (toml.TomlDecodeError, OSError):
+ with open(pyproject_filename, "rb") as f:
+ pyproject_toml = tomllib.load(f)
+ except (tomllib.TOMLDecodeError, OSError):
logger.warning(
"Error decoding pyproject.toml, using defaults: %r",
defaults,
diff --git a/setup.cfg b/setup.cfg
index 533d842..87be79a 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -18,14 +18,17 @@ classifiers =
[options]
packages = find:
-install_requires = python-lsp-server>=1.4.0; black>=22.3.0; toml
+install_requires =
+ python-lsp-server>=1.4.0
+ black>=22.3.0
+ tomli; python_version<'3.11'
python_requires = >= 3.7
[options.entry_points]
pylsp = pylsp_black = pylsp_black.plugin
[options.extras_require]
-dev = isort>=5.0; flake8; pre-commit; pytest; mypy; pytest; types-pkg_resources; types-setuptools; types-toml
+dev = isort>=5.0; flake8; pre-commit; pytest; mypy; pytest; types-pkg_resources; types-setuptools
[flake8]
max-line-length = 88