cmds.projects.CmdCreateFile: Add self to extra_paths
pyrightconfig.json as generated by CmdCreateFile, doesn't contain the repository's own Python source location in "extra_paths", fix that. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
96409e50f7
commit
60bd4b461b
1 changed files with 11 additions and 3 deletions
|
|
@ -19,12 +19,17 @@ class Fmt(Enum):
|
|||
|
||||
class CmdCreateFile(Cmd): # export
|
||||
|
||||
def __jw_required(self, module: str | None = None) -> list[str]:
|
||||
def __jw_required(
|
||||
self,
|
||||
*,
|
||||
module: str | None = None,
|
||||
include_self: bool = False,
|
||||
) -> list[str]:
|
||||
if module is None:
|
||||
module = self.app.args.module
|
||||
if module is None:
|
||||
raise Exception('Can\'t get required packages without module name')
|
||||
return pkg_relations(
|
||||
ret = pkg_relations(
|
||||
self.app,
|
||||
rel_type = 'requires',
|
||||
flavours = ['run'],
|
||||
|
|
@ -37,6 +42,9 @@ class CmdCreateFile(Cmd): # export
|
|||
hide_self = False,
|
||||
hide_jw_pkg = False,
|
||||
)
|
||||
if include_self and module not in ret:
|
||||
ret = [module, *ret]
|
||||
return ret
|
||||
|
||||
def __render(
|
||||
self,
|
||||
|
|
@ -65,7 +73,7 @@ class CmdCreateFile(Cmd): # export
|
|||
|
||||
def render_pyright(self, module: str, extra_fields: RenderValues) -> str:
|
||||
extra_paths = []
|
||||
for m in self.__jw_required():
|
||||
for m in self.__jw_required(include_self = True):
|
||||
path = self.app.find_dir(m, search_subdirs = ['src/python', 'tools/python'])
|
||||
if path is None:
|
||||
log(WARNING, f'No project directory for module "{m}"')
|
||||
|
|
|
|||
Loading…
Reference in a new issue