cmds.projects.BaseCmdPkgRelations: Support --quote

In a push to eventually merge class CmdRequiredOsPkg into this class,
add the --quote option required by it.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-03-15 13:05:15 +01:00
commit f075d3d0cf

View file

@ -29,6 +29,7 @@ class BaseCmdPkgRelations(Cmd):
recursive: bool=False, recursive: bool=False,
dont_expand_version_macros: bool=False, dont_expand_version_macros: bool=False,
ignore: set[str] = set(), ignore: set[str] = set(),
quote: bool = False,
) -> list[str]: ) -> list[str]:
if subsections is None: if subsections is None:
@ -126,8 +127,10 @@ class BaseCmdPkgRelations(Cmd):
case '_': case '_':
raise NotImplementedError(f'Unknown dependency syntax "{syntax}" for dependency "{dep[0]} {dep[1]} {dep[3]}"') raise NotImplementedError(f'Unknown dependency syntax "{syntax}" for dependency "{dep[0]} {dep[1]} {dep[3]}"')
dep_str = ' '.join(expanded_dep) dep_str = ' '.join(expanded_dep)
if quote:
dep_str = '"' + dep_str + '"'
if not dep_str in r: if not dep_str in r:
log(DEBUG, f'Appending dependency "{dep_str}"') log(DEBUG, f'Appending dependency >{dep_str}<')
r.append(dep_str) r.append(dep_str)
return r return r
@ -146,6 +149,7 @@ class BaseCmdPkgRelations(Cmd):
recursive = args.recursive, recursive = args.recursive,
dont_expand_version_macros = args.dont_expand_version_macros, dont_expand_version_macros = args.dont_expand_version_macros,
ignore = set(args.ignore.split(',')), ignore = set(args.ignore.split(',')),
quote = args.quote,
) )
) )
@ -176,6 +180,8 @@ class BaseCmdPkgRelations(Cmd):
default=False, help='Don\'t expand VERSION and REVISION macros') default=False, help='Don\'t expand VERSION and REVISION macros')
parser.add_argument('--ignore', nargs='?', default='', help='Packages that ' parser.add_argument('--ignore', nargs='?', default='', help='Packages that '
'should be ignored together with their dependencies') 'should be ignored together with their dependencies')
parser.add_argument('--quote', action='store_true', default=False,
help='Put double quotes around each listed dependency')
async def _run(self, args: Namespace) -> None: async def _run(self, args: Namespace) -> None:
return self.print_pkg_relations(self.relation, args) return self.print_pkg_relations(self.relation, args)