# -*- coding: utf-8 -*- from argparse import Namespace, ArgumentParser from ..Cmd import Cmd from ...App import Scope class CmdPythonpath(Cmd): # export def __init__(self) -> None: super().__init__('pythonpath', help='Generate PYTHONPATH for given modules') def add_arguments(self, p: ArgumentParser) -> None: super().add_arguments(p) p.add_argument('module', help='Modules', nargs='*') def _run(self, args: Namespace) -> None: deps = self.app.get_modules_from_project_txt(args.module, ['pkg.requires.jw'], [ 'run', 'build' ], scope = Scope.Subtree, add_self=True, names_only=True) out = [] for m in deps: path = self.app.find_dir(m, ['src/python', 'tools/python']) if path is not None: out.append(path) if out: print(':'.join(out))