jw-pkg/src/python/jw/pkg/cmds/projects/CmdPythonpathOrig.py
Jan Lindemann 6ca4af77d7 jw.pkg.App: Code beautification

Major - but not yet sufficient - code beautification starting from jw.pkg.App.

- Make more methods private - Rename methods to be more self-explanatory - Same for method arguments, notably clean up some inconsistent uses of "module" vs "project" - Add more type hints

Fix API breakage in the command modules.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-01-29 11:32:14 +01:00

30 lines
1 KiB
Python

# -*- coding: utf-8 -*-
from argparse import Namespace, ArgumentParser
from ...App import Scope
from ..Cmd import Cmd
from ..CmdProjects import CmdProjects
class CmdPythonpathOrig(Cmd): # export
def __init__(self, parent: CmdProjects) -> None:
super().__init__(parent, 'pythonpath_orig', help='pythonpath')
def add_arguments(self, parser: ArgumentParser) -> None:
super().add_arguments(parser)
parser.add_argument('module', nargs='*', help='Modules')
async def _run(self, args: Namespace) -> None:
deps = self.app.get_project_refs(args.module, ['pkg.requires.jw'], [ 'run', 'build' ],
scope = Scope.Subtree, add_self=True, names_only=True)
r = ''
for m in deps:
pd = self.app.find_dir(m, pretty=False)
if pd is None:
continue
for subdir in [ 'src/python', 'tools/python' ]:
cand = pd + "/" + subdir
if isdir(cand):
r = r + ':' + cand
print(r[1:])