If /usr/bin/isort is found, run it during "make format" to get a defined way the imports are sorted. tool.isort in pyproject.toml is updated to match the other fixers. Commit the fallout of this change. Running the other fixers alone doesn't change the formatting, so this should be safe. Signed-off-by: Jan Lindemann <jan@janware.com>
43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING, override
|
|
|
|
from ...App import Scope
|
|
from .Cmd import Cmd, Parent
|
|
|
|
if TYPE_CHECKING:
|
|
from argparse import ArgumentParser, Namespace
|
|
|
|
class CmdExepath(Cmd): # export
|
|
|
|
def __init__(self, parent: Parent) -> None:
|
|
super().__init__(parent, 'exepath', help = 'exepath')
|
|
|
|
@override
|
|
def add_arguments(self, parser: ArgumentParser) -> None:
|
|
super().add_arguments(parser)
|
|
parser.add_argument(
|
|
'-d',
|
|
'--delimiter',
|
|
nargs = '?',
|
|
default = ':',
|
|
help = 'Output words delimiter'
|
|
)
|
|
parser.add_argument('module', nargs = '*', help = 'Modules')
|
|
|
|
@override
|
|
async def _run(self, args: Namespace) -> None:
|
|
deps = self.app.get_project_refs(
|
|
args.module,
|
|
['pkg.requires.jw'],
|
|
['run', 'build', 'devel'],
|
|
scope = Scope.Subtree,
|
|
add_self = True,
|
|
names_only = True,
|
|
)
|
|
out = []
|
|
for m in deps:
|
|
path = self.app.find_dir(m, ['/bin'])
|
|
if path is not None:
|
|
out.append(path)
|
|
print(args.delimiter.join(out))
|