Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-python-lsp-black for 
openSUSE:Factory checked in at 2022-03-25 21:54:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-lsp-black (Old)
 and      /work/SRC/openSUSE:Factory/.python-python-lsp-black.new.1900 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-python-lsp-black"

Fri Mar 25 21:54:58 2022 rev:2 rq:964847 version:1.1.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-python-lsp-black/python-python-lsp-black.changes
  2021-07-16 22:13:22.154564334 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-python-lsp-black.new.1900/python-python-lsp-black.changes
        2022-03-25 21:55:18.090314074 +0100
@@ -1,0 +2,8 @@
+Fri Mar 25 12:39:20 UTC 2022 - Ben Greiner <c...@bnavigator.de>
+
+- Update to 1.1.0
+  * Support global config as a fallback by @jdost in #19
+  * Fix TypeError when formatting with black 22.1.0+ by @wlcx in
+    #30
+
+-------------------------------------------------------------------

Old:
----
  python-lsp-black-1.0.0.tar.gz

New:
----
  python-lsp-black-1.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-python-lsp-black.spec ++++++
--- /var/tmp/diff_new_pack.4EAtBt/_old  2022-03-25 21:55:18.542314504 +0100
+++ /var/tmp/diff_new_pack.4EAtBt/_new  2022-03-25 21:55:18.550314512 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-python-lsp-black
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,19 +19,19 @@
 %{?!python_module:%define python_module() python3-%{**}}
 %define skip_python2 1
 Name:           python-python-lsp-black
-Version:        1.0.0
+Version:        1.1.0
 Release:        0
 Summary:        Black plugin for the Python LSP Server
 License:        MIT
 URL:            https://github.com/python-lsp/python-lsp-black
 Source:         
https://files.pythonhosted.org/packages/source/p/python-lsp-black/python-lsp-black-%{version}.tar.gz
-BuildRequires:  python-rpm-macros
 BuildRequires:  %{python_module setuptools}
+BuildRequires:  python-rpm-macros
 # SECTION test requirements
 BuildRequires:  %{python_module black >= 19.3b0}
+BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module python-lsp-server}
 BuildRequires:  %{python_module toml}
-BuildRequires:  %{python_module pytest}
 # /SECTION
 BuildRequires:  fdupes
 Requires:       python-black >= 19.3b0

++++++ python-lsp-black-1.0.0.tar.gz -> python-lsp-black-1.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-lsp-black-1.0.0/PKG-INFO 
new/python-lsp-black-1.1.0/PKG-INFO
--- old/python-lsp-black-1.0.0/PKG-INFO 2021-05-18 20:00:18.865016000 +0200
+++ new/python-lsp-black-1.1.0/PKG-INFO 2022-01-31 00:21:43.735670300 +0100
@@ -1,18 +1,22 @@
 Metadata-Version: 2.1
 Name: python-lsp-black
-Version: 1.0.0
+Version: 1.1.0
 Summary: Black plugin for the Python LSP Server
 Home-page: https://github.com/python-lsp/python-lsp-black
 Author: Python LSP contributors
-Author-email: and...@gmail.com
+Author-email: f...@fidelramos.net
 License: UNKNOWN
+Project-URL: Bug Tracker, https://github.com/python-lsp/python-lsp-black/issues
+Project-URL: Changelog, 
https://github.com/python-lsp/python-lsp-black/blob/master/CHANGELOG.md
+Project-URL: Source Code, https://github.com/python-lsp/python-lsp-black
 Description: # python-lsp-black
         
-        
[![PyPI](https://img.shields.io/pypi/v/pyls-black.svg)](https://pypi.org/project/python-lsp-black)
 [![Code style: 
black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
+        
[![PyPI](https://img.shields.io/pypi/v/pyls-black.svg)](https://pypi.org/project/python-lsp-black)
 [![Code style: 
black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
         
[![Python](https://github.com/python-lsp/python-lsp-black/actions/workflows/python.yml/badge.svg)](https://github.com/python-lsp/python-lsp-black/actions/workflows/python.yml)
         
+        > [Black](https://github.com/psf/black) plugin for the [Python LSP 
Server](https://github.com/python-lsp/python-lsp-server).
         
-        > [Black](https://github.com/ambv/black) plugin for the [Python LSP 
Server](https://github.com/python-lsp/python-lsp-server).
+        ## Install
         
         In the same `virtualenv` as `python-lsp-server`:
         
@@ -20,13 +24,54 @@
         pip install python-lsp-black
         ```
         
+        # Usage
+        
         To avoid unexpected results you should make sure `yapf` and `autopep8` 
are not installed.
         
-        * `python-lsp-black` can either format an entire file or just the 
selected text.
-        * The code will only be formatted if it is syntactically valid Python.
-        * Text selections are treated as if they were a separate Python file.
+        - `python-lsp-black` can either format an entire file or just the 
selected text.
+        - The code will only be formatted if it is syntactically valid Python.
+        - Text selections are treated as if they were a separate Python file.
           Unfortunately this means you can't format an indented block of code.
-        * `python-lsp-black` will use your project's 
[pyproject.toml](https://github.com/ambv/black#pyprojecttoml) if it has one.
+        - `python-lsp-black` will use your project's 
[pyproject.toml](https://github.com/psf/black#pyprojecttoml) if it has one.
+        - `python-lsp-black` only officially supports the latest stable 
version of [black](https://github.com/psf/black). An effort is made to keep 
backwards-compatibility but older black versions will not be actively tested.
+        
+        # Development
+        
+        To install the project for development you need to specify the dev 
optional dependencies:
+        
+        ```shell
+        python -m venv .venv
+        . .venv/bin/activate
+        pip install -e .[dev]
+        ```
+        
+        This project uses [pre-commit](https://pre-commit.com/) hooks to 
control code quality,
+        install them to run them when creating a git commit, thus avoiding 
seeing errors when you
+        create a pull request:
+        
+        ```shell
+        pre-commit install
+        ```
+        
+        To run tests:
+        
+        ```shell
+        make test
+        ```
+        
+        To run linters:
+        
+        ```shell
+        make lint  # just a shortcut to pre-commit run -a
+        make <linter_name>  # black, flake8, isort, mypy
+        ```
+        
+        To upgrade the version of the pre-commit hooks:
+        
+        ```shell
+        pre-commit autoupdate
+        # check and git commit changes to .pre-commit-config.yaml
+        ```
         
 Platform: UNKNOWN
 Classifier: Programming Language :: Python
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-lsp-black-1.0.0/README.md 
new/python-lsp-black-1.1.0/README.md
--- old/python-lsp-black-1.0.0/README.md        2021-05-18 19:56:35.000000000 
+0200
+++ new/python-lsp-black-1.1.0/README.md        2022-01-31 00:12:22.000000000 
+0100
@@ -1,10 +1,11 @@
 # python-lsp-black
 
-[![PyPI](https://img.shields.io/pypi/v/pyls-black.svg)](https://pypi.org/project/python-lsp-black)
 [![Code style: 
black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
+[![PyPI](https://img.shields.io/pypi/v/pyls-black.svg)](https://pypi.org/project/python-lsp-black)
 [![Code style: 
black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
 
[![Python](https://github.com/python-lsp/python-lsp-black/actions/workflows/python.yml/badge.svg)](https://github.com/python-lsp/python-lsp-black/actions/workflows/python.yml)
 
+> [Black](https://github.com/psf/black) plugin for the [Python LSP 
Server](https://github.com/python-lsp/python-lsp-server).
 
-> [Black](https://github.com/ambv/black) plugin for the [Python LSP 
Server](https://github.com/python-lsp/python-lsp-server).
+## Install
 
 In the same `virtualenv` as `python-lsp-server`:
 
@@ -12,10 +13,51 @@
 pip install python-lsp-black
 ```
 
+# Usage
+
 To avoid unexpected results you should make sure `yapf` and `autopep8` are not 
installed.
 
-* `python-lsp-black` can either format an entire file or just the selected 
text.
-* The code will only be formatted if it is syntactically valid Python.
-* Text selections are treated as if they were a separate Python file.
+- `python-lsp-black` can either format an entire file or just the selected 
text.
+- The code will only be formatted if it is syntactically valid Python.
+- Text selections are treated as if they were a separate Python file.
   Unfortunately this means you can't format an indented block of code.
-* `python-lsp-black` will use your project's 
[pyproject.toml](https://github.com/ambv/black#pyprojecttoml) if it has one.
+- `python-lsp-black` will use your project's 
[pyproject.toml](https://github.com/psf/black#pyprojecttoml) if it has one.
+- `python-lsp-black` only officially supports the latest stable version of 
[black](https://github.com/psf/black). An effort is made to keep 
backwards-compatibility but older black versions will not be actively tested.
+
+# Development
+
+To install the project for development you need to specify the dev optional 
dependencies:
+
+```shell
+python -m venv .venv
+. .venv/bin/activate
+pip install -e .[dev]
+```
+
+This project uses [pre-commit](https://pre-commit.com/) hooks to control code 
quality,
+install them to run them when creating a git commit, thus avoiding seeing 
errors when you
+create a pull request:
+
+```shell
+pre-commit install
+```
+
+To run tests:
+
+```shell
+make test
+```
+
+To run linters:
+
+```shell
+make lint  # just a shortcut to pre-commit run -a
+make <linter_name>  # black, flake8, isort, mypy
+```
+
+To upgrade the version of the pre-commit hooks:
+
+```shell
+pre-commit autoupdate
+# check and git commit changes to .pre-commit-config.yaml
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-lsp-black-1.0.0/pylsp_black/plugin.py 
new/python-lsp-black-1.1.0/pylsp_black/plugin.py
--- old/python-lsp-black-1.0.0/pylsp_black/plugin.py    2021-05-18 
19:50:42.000000000 +0200
+++ new/python-lsp-black-1.1.0/pylsp_black/plugin.py    2022-01-31 
00:09:55.000000000 +0100
@@ -1,9 +1,28 @@
-from typing import Dict
+import logging
+import os
+from pathlib import Path
+from typing import Dict, Optional
 
 import black
 import toml
 from pylsp import hookimpl
 
+logger = logging.getLogger(__name__)
+
+GLOBAL_CONFIG: Optional[Path] = None
+try:
+    if os.name == "nt":
+        GLOBAL_CONFIG = Path.home() / ".black"
+    elif "XDG_CONFIG_HOME" in os.environ:
+        GLOBAL_CONFIG = Path(os.environ["XDG_CONFIG_HOME"]) / "black"
+    else:
+        GLOBAL_CONFIG = Path.home() / ".config" / "black"
+except Exception as e:
+    logger.error("Error determining black global config file path: %s", e)
+else:
+    if GLOBAL_CONFIG is not None and GLOBAL_CONFIG.exists():
+        logger.info("Found black global config file at %s", GLOBAL_CONFIG)
+
 
 @hookimpl(tryfirst=True)
 def pylsp_format_document(document):
@@ -34,16 +53,8 @@
 
     try:
         formatted_text = format_text(text=text, config=config)
-    except (
-        ValueError,
+    except black.NothingChanged:
         # raised when the file is already formatted correctly
-        black.NothingChanged,
-        # raised when the file being formatted has an indentation error
-        IndentationError,
-        # raised when black produces invalid Python code or formats the file
-        # differently on the second pass
-        AssertionError,
-    ):
         return []
 
     return [{"range": range, "newText": formatted_text}]
@@ -56,8 +67,21 @@
         is_pyi=config["pyi"],
         string_normalization=not config["skip_string_normalization"],
     )
-
-    return black.format_file_contents(text, fast=config["fast"], mode=mode)
+    try:
+        # will raise black.NothingChanged, we want to bubble that exception up
+        return black.format_file_contents(text, fast=config["fast"], mode=mode)
+    except (
+        # raised when the file has syntax errors
+        ValueError,
+        # raised when the file being formatted has an indentation error
+        IndentationError,
+        # raised when black produces invalid Python code or formats the file
+        # differently on the second pass
+        AssertionError,
+    ) as e:
+        # errors will show on lsp stderr stream
+        logger.error("Error formatting with black: %s", e)
+        raise black.NothingChanged from e
 
 
 def load_config(filename: str) -> Dict:
@@ -71,14 +95,27 @@
 
     root = black.find_project_root((filename,))
 
-    pyproject_filename = root / "pyproject.toml"
+    # Black 22.1.0+ returns a tuple
+    if isinstance(root, tuple):
+        pyproject_filename = root[0] / "pyproject.toml"
+    else:
+        pyproject_filename = root / "pyproject.toml"
 
     if not pyproject_filename.is_file():
-        return defaults
+        if GLOBAL_CONFIG is not None and GLOBAL_CONFIG.exists():
+            pyproject_filename = GLOBAL_CONFIG
+            logger.info("Using global black config at %s", pyproject_filename)
+        else:
+            logger.info("Using defaults: %r", defaults)
+            return defaults
 
     try:
         pyproject_toml = toml.load(str(pyproject_filename))
     except (toml.TomlDecodeError, OSError):
+        logger.warning(
+            "Error decoding pyproject.toml, using defaults: %r",
+            defaults,
+        )
         return defaults
 
     file_config = pyproject_toml.get("tool", {}).get("black", {})
@@ -108,4 +145,6 @@
 
     config["target_version"] = target_version
 
+    logger.info("Using config from %s: %r", pyproject_filename, config)
+
     return config
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-lsp-black-1.0.0/pyproject.toml 
new/python-lsp-black-1.1.0/pyproject.toml
--- old/python-lsp-black-1.0.0/pyproject.toml   2021-05-18 19:11:34.000000000 
+0200
+++ new/python-lsp-black-1.1.0/pyproject.toml   2021-12-01 12:04:22.000000000 
+0100
@@ -1,5 +1,5 @@
 [tool.black]
-target-version = ['py36', 'py37', 'py38']
+target-version = ['py36', 'py37', 'py38', 'py39']
 exclude = '''
 /(
          \.venv
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-lsp-black-1.0.0/python_lsp_black.egg-info/PKG-INFO 
new/python-lsp-black-1.1.0/python_lsp_black.egg-info/PKG-INFO
--- old/python-lsp-black-1.0.0/python_lsp_black.egg-info/PKG-INFO       
2021-05-18 20:00:18.000000000 +0200
+++ new/python-lsp-black-1.1.0/python_lsp_black.egg-info/PKG-INFO       
2022-01-31 00:21:43.000000000 +0100
@@ -1,18 +1,22 @@
 Metadata-Version: 2.1
 Name: python-lsp-black
-Version: 1.0.0
+Version: 1.1.0
 Summary: Black plugin for the Python LSP Server
 Home-page: https://github.com/python-lsp/python-lsp-black
 Author: Python LSP contributors
-Author-email: and...@gmail.com
+Author-email: f...@fidelramos.net
 License: UNKNOWN
+Project-URL: Bug Tracker, https://github.com/python-lsp/python-lsp-black/issues
+Project-URL: Changelog, 
https://github.com/python-lsp/python-lsp-black/blob/master/CHANGELOG.md
+Project-URL: Source Code, https://github.com/python-lsp/python-lsp-black
 Description: # python-lsp-black
         
-        
[![PyPI](https://img.shields.io/pypi/v/pyls-black.svg)](https://pypi.org/project/python-lsp-black)
 [![Code style: 
black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
+        
[![PyPI](https://img.shields.io/pypi/v/pyls-black.svg)](https://pypi.org/project/python-lsp-black)
 [![Code style: 
black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
         
[![Python](https://github.com/python-lsp/python-lsp-black/actions/workflows/python.yml/badge.svg)](https://github.com/python-lsp/python-lsp-black/actions/workflows/python.yml)
         
+        > [Black](https://github.com/psf/black) plugin for the [Python LSP 
Server](https://github.com/python-lsp/python-lsp-server).
         
-        > [Black](https://github.com/ambv/black) plugin for the [Python LSP 
Server](https://github.com/python-lsp/python-lsp-server).
+        ## Install
         
         In the same `virtualenv` as `python-lsp-server`:
         
@@ -20,13 +24,54 @@
         pip install python-lsp-black
         ```
         
+        # Usage
+        
         To avoid unexpected results you should make sure `yapf` and `autopep8` 
are not installed.
         
-        * `python-lsp-black` can either format an entire file or just the 
selected text.
-        * The code will only be formatted if it is syntactically valid Python.
-        * Text selections are treated as if they were a separate Python file.
+        - `python-lsp-black` can either format an entire file or just the 
selected text.
+        - The code will only be formatted if it is syntactically valid Python.
+        - Text selections are treated as if they were a separate Python file.
           Unfortunately this means you can't format an indented block of code.
-        * `python-lsp-black` will use your project's 
[pyproject.toml](https://github.com/ambv/black#pyprojecttoml) if it has one.
+        - `python-lsp-black` will use your project's 
[pyproject.toml](https://github.com/psf/black#pyprojecttoml) if it has one.
+        - `python-lsp-black` only officially supports the latest stable 
version of [black](https://github.com/psf/black). An effort is made to keep 
backwards-compatibility but older black versions will not be actively tested.
+        
+        # Development
+        
+        To install the project for development you need to specify the dev 
optional dependencies:
+        
+        ```shell
+        python -m venv .venv
+        . .venv/bin/activate
+        pip install -e .[dev]
+        ```
+        
+        This project uses [pre-commit](https://pre-commit.com/) hooks to 
control code quality,
+        install them to run them when creating a git commit, thus avoiding 
seeing errors when you
+        create a pull request:
+        
+        ```shell
+        pre-commit install
+        ```
+        
+        To run tests:
+        
+        ```shell
+        make test
+        ```
+        
+        To run linters:
+        
+        ```shell
+        make lint  # just a shortcut to pre-commit run -a
+        make <linter_name>  # black, flake8, isort, mypy
+        ```
+        
+        To upgrade the version of the pre-commit hooks:
+        
+        ```shell
+        pre-commit autoupdate
+        # check and git commit changes to .pre-commit-config.yaml
+        ```
         
 Platform: UNKNOWN
 Classifier: Programming Language :: Python
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-lsp-black-1.0.0/python_lsp_black.egg-info/requires.txt 
new/python-lsp-black-1.1.0/python_lsp_black.egg-info/requires.txt
--- old/python-lsp-black-1.0.0/python_lsp_black.egg-info/requires.txt   
2021-05-18 20:00:18.000000000 +0200
+++ new/python-lsp-black-1.1.0/python_lsp_black.egg-info/requires.txt   
2022-01-31 00:21:43.000000000 +0100
@@ -1,10 +1,14 @@
-python-lsp-server
 black>=19.3b0
+python-lsp-server
 toml
 
 [dev]
-isort>=5.0
 flake8
-pytest
+isort>=5.0
 mypy
+pre-commit
+pytest
 pytest
+types-pkg_resources
+types-setuptools
+types-toml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-lsp-black-1.0.0/setup.cfg 
new/python-lsp-black-1.1.0/setup.cfg
--- old/python-lsp-black-1.0.0/setup.cfg        2021-05-18 20:00:18.865016000 
+0200
+++ new/python-lsp-black-1.1.0/setup.cfg        2022-01-31 00:21:43.735670300 
+0100
@@ -1,12 +1,16 @@
 [metadata]
 name = python-lsp-black
-version = 1.0.0
+version = 1.1.0
 author = Python LSP contributors
-author_email = and...@gmail.com
+author_email = f...@fidelramos.net
 description = Black plugin for the Python LSP Server
 url = https://github.com/python-lsp/python-lsp-black
 long_description = file: README.md
 long_description_content_type = text/markdown
+project_urls = 
+       Bug Tracker = https://github.com/python-lsp/python-lsp-black/issues
+       Changelog = 
https://github.com/python-lsp/python-lsp-black/blob/master/CHANGELOG.md
+       Source Code = https://github.com/python-lsp/python-lsp-black
 classifiers = 
        Programming Language :: Python
        License :: OSI Approved :: MIT License
@@ -21,17 +25,20 @@
 pylsp = pylsp_black = pylsp_black.plugin
 
 [options.extras_require]
-dev = isort>=5.0; flake8; pytest; mypy; pytest
+dev = isort>=5.0; flake8; pre-commit; pytest; mypy; pytest; 
types-pkg_resources; types-setuptools; types-toml
 
 [flake8]
 max-line-length = 88
 ignore = E203
+exclude = 
+       .venv
 
 [mypy]
 ignore_missing_imports = true
 
 [isort]
 profile = black
+skip_glob = [".venv"]
 
 [egg_info]
 tag_build = 

Reply via email to