When generating the package lists, the responsibility to decide what is
actually a package symbol is currently split between the _is_package(),
the get_symbol_subset() and the format_asciidoc_table() functions.
The two latter functions check that an item is really a symbol, and that
is has a prompt.
While this is currently correct for real packages, this will no longer
be the case when we also generate a list of virtual packages, since they
do not have a prompt.
Move the responsibility to verify that a symbol is indeed a package symbol
to _is_package(), so it's all in one place, and makes it easier to change
for virtual packages.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
raise Exception(message)
for item in get_items():
if item.is_symbol():
- if not item.prompts:
- continue
if not filter_func(item):
continue
yield item
return "| {0:<40}\n".format(item)
lines = []
for item in get_symbol_subset(root, filter_func):
- if not item.is_symbol() or not item.prompts:
- continue
loc = get_symbol_parents(item, root, enable_choice=enable_choice)
lines.append(_format_entry(get_label_func(item), loc, sub_menu))
if sorted:
Note: only 'real' is (implictly) handled for now
"""
+ if not symbol.is_symbol():
+ return False
+ if type == 'real' and not symbol.prompts:
+ return False
if not self.re_pkg_prefix.match(symbol.get_name()):
return False
pkg_name = self._get_pkg_name(symbol)