$ poetry run pysen run lint
Consider specifying 'version' under [tool.pysen] section in your pyproject.toml to check compliance against the version of the installed pysen. (File: /home/keno/src/github.com/kenoss/pyproject-indirect-import-detector/pyproject.toml)
Running commands concurrently...
... concurrent execution done
Running: black
Checking 20 files
error: cannot format /home/keno/src/github.com/kenoss/pyproject-indirect-import-detector/src/pyproject_indirect_import_detector/util.py: INTERNAL ERROR: Black produced invalid code: invalid syntax (<unknown>, line 8). Please report a bug on https://github.com/psf/black/issues. This invalid output might be helpful: /tmp/blk_dtrwzz9g.log
error: cannot format /home/keno/src/github.com/kenoss/pyproject-indirect-import-detector/src/pyproject_indirect_import_detector/domain.py: INTERNAL ERROR: Black produced code that is not equivalent to the source. Please report a bug on https://github.com/psf/black/issues. This diff might be helpful: /tmp/blk_kz41nbnt.log
error: cannot format /home/keno/src/github.com/kenoss/pyproject-indirect-import-detector/src/pyproject_indirect_import_detector/pyproject.py: INTERNAL ERROR: Black produced invalid code: invalid syntax (<unknown>, line 27). Please report a bug on https://github.com/psf/black/issues. This invalid output might be helpful: /tmp/blk_8gw6nbc6.log
Oh no! π₯ π π₯
17 files would be left unchanged, 3 files would fail to reformat.
Running: flake8
Checking 20 files
Running: isort
Checking 20 files
Running: mypy
[1/1] Checking 1 entries
Success: no issues found in 9 source files
** execution summary **
isort .......... OK (0.24 sec)
black .......... Failed (0.27 sec)
flake8 .......... OK (0.25 sec)
mypy .......... OK (0.16 sec)
lint finished with error(s)
Errored:
- black
$ cat /tmp/blk_dtrwzz9g.log
File "/home/keno/.cache/pypoetry/virtualenvs/pyproject-indirect-import-detector-7fwl-yUj-py3.9/lib/python3.9/site-packages/black/__init__.py", line 6141, in assert_equivalent
dst_ast = parse_ast(dst)
File "/home/keno/.cache/pypoetry/virtualenvs/pyproject-indirect-import-detector-7fwl-yUj-py3.9/lib/python3.9/site-packages/black/__init__.py", line 6052, in parse_ast
return ast27.parse(src)
File "/home/keno/.cache/pypoetry/virtualenvs/pyproject-indirect-import-detector-7fwl-yUj-py3.9/lib/python3.9/site-packages/typed_ast/ast27.py", line 50, in parse
return _ast27.parse(source, filename, mode)
import os
from pathlib import Path
from typing import Any, List, TypeVar
T = TypeVar("T")
def _flatten(xss: List[List[T]]) -> List[T]:
# fmt: off
return [x
for xs in xss
for x in xs]
def _walk(path: Path) -> List[Path]:
# fmt: off
return [Path(d) / f
for (d, _, fs) in os.walk(path)
for f in fs]
def _list_all_python_files(path: Path) -> List[Path]:
# fmt: off
return [path
for path in _walk(path)
if path.name.endswith(".py")]
def _dict_rec_get(d: dict[Any, Any], path: List[Any], default: Any) -> Any: # type: ignore # reason: dict
"""
Get an element of path from dict.
>>> d = {'a': 'a', 'b': {'c': 'bc', 'd': {'e': 'bde'}}}
Simple get:
>>> _dict_rec_get(d, ['a'], None)
'a'
Returns default if key does not exist:
>>> _dict_rec_get(d, ['c'], None) is None
True
>>> _dict_rec_get(d, ['c'], 0)
0
Get recursive:
>>> _dict_rec_get(d, ['b', 'c'], None)
'bc'
>>> _dict_rec_get(d, ['b', 'd'], None)
{'e': 'bde'}
>>> _dict_rec_get(d, ['b', 'd', 'e'], None)
'bde'
>>> _dict_rec_get(d, ['b', 'nopath'], None) is None
True
"""
assert isinstance(path, list)
while len(path) != 0:
p = path[0]
path = path[1:]
if isinstance(d, dict) and (p in d): # type: ignore
d = d[p]
else:
return default
return d
CI: https://app.circleci.com/pipelines/github/kenoss/pyproject-indirect-import-detector/20/workflows/8a28ef32-2449-4fac-b779-f32f763fd66f/jobs/73
I'll turn off black temporary.