laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/27187 )
Change subject: pySim-shell: Allow selecting of deep paths like DF.GSM/EF.IMSI ......................................................................
pySim-shell: Allow selecting of deep paths like DF.GSM/EF.IMSI
With this patch applied, users can directly enter commands like
select DF.GSM/EF.IMSI or select ADF.USIM/DF.5GS/EF.5GAUTHKEYS
This feature doesn't have tabl completion, so it's mostly useful for when you know what to select, or for use within scripts.
Change-Id: I681a132eb2df4b2aba4c2ccbdd21c6d5b88443e3 --- M pySim/filesystem.py 1 file changed, 16 insertions(+), 0 deletions(-)
Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved
diff --git a/pySim/filesystem.py b/pySim/filesystem.py index d1c3e1f..bef9005 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -1411,6 +1411,22 @@ name : Name of file to select cmd_app : Command Application State (for unregistering old file commands) """ + # handling of entire paths with multiple directories/elements + if '/' in name: + prev_sel_file = self.selected_file + pathlist = name.split('/') + # treat /DF.GSM/foo like MF/DF.GSM/foo + if pathlist[0] == '': + pathlist[0] = 'MF' + try: + for p in pathlist: + self.select(p, cmd_app) + return + except Exception as e: + # if any intermediate step fails, go back to where we were + self.select_file(prev_sel_file, cmd_app) + raise e + sels = self.selected_file.get_selectables() if is_hex(name): name = name.lower()
1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one.