From d2c177b39634e3a45121d1de38751e927bc6441a Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 24 Jul 2022 11:35:53 +0200 Subject: [PATCH] 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 --- pySim/filesystem.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 598121b0..886a48dd 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -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