filesystem.py: Make CardDF.get_selectables() respect the flags

All other get_selectables() understand a flag like 'FIDS' to request
only the hexadecimal FIDs and not the file names.  However, the
CardEF.get_selectables() ignored those flags and unconditionally
returned the names.

Change-Id: Icdc37cae3eecd36d167da76c30224b9d48c844fd
This commit is contained in:
Harald Welte 2022-07-24 11:35:53 +02:00
parent 86d698d310
commit d2c177b396
1 changed files with 4 additions and 2 deletions

View File

@ -541,8 +541,10 @@ class CardEF(CardFile):
"""
# global selectable names + those of the parent DF
sels = super().get_selectables(flags)
sels.update(
{x.name: x for x in self.parent.children.values() if x != self})
if flags == [] or 'FIDS' in flags:
sels.update({x.fid: x for x in self.parent.children.values() if x.fid and x != self})
if flags == [] or 'FNAMES' in flags:
sels.update({x.name: x for x in self.parent.children.values() if x.name and x != self})
return sels