lynxis lazus has uploaded this change for review. (
https://gerrit.osmocom.org/c/pysim/+/42057?usp=email )
Change subject: euicc: extend get_profiles_info to retrieve all known tags
......................................................................
euicc: extend get_profiles_info to retrieve all known tags
get_profiles_info only request for the default tag list, but
not all tags.
Add --all to the function to request for all known tags.
Change-Id: Ia6878519a480bd625bb1fa2567c1fd2e0e89b071
---
M pySim/euicc.py
1 file changed, 21 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/57/42057/1
diff --git a/pySim/euicc.py b/pySim/euicc.py
index ccb65be..763d7ff 100644
--- a/pySim/euicc.py
+++ b/pySim/euicc.py
@@ -444,9 +444,28 @@
d = rn.to_dict()
self._cmd.poutput_json(flatten_dict_lists(d['notification_sent_resp']))
- def do_get_profiles_info(self, _opts):
+ get_profiles_info_parser = argparse.ArgumentParser()
+ get_profiles_info_parser.add_argument('--all', action='store_true',
help='Retrieve all known tags of a profile')
+
+ @cmd2.with_argparser(get_profiles_info_parser)
+ def do_get_profiles_info(self, opts):
"""Perform an ES10c GetProfilesInfo function."""
- pi = CardApplicationISDR.store_data_tlv(self._cmd.lchan.scc,
ProfileInfoListReq(), ProfileInfoListResp)
+ if opts.all:
+ tags = [nest.tag for nest in
ProfileInfo.nested_collection_cls().nested]
+ u8tags = []
+ # TODO: rework TagList to support 2 byte tags to not filter it
into u8 tags
+ for tag in tags:
+ if tag <= 255:
+ u8tags.append(tag)
+ elif tag <= 65535:
+ u8tags.append(tag >> 8)
+ u8tags.append(tag & 0xff)
+ # Ignoring 3 byte tags
+ req = ProfileInfoListReq(children=[TagList(decoded=u8tags)])
+ else:
+ req = ProfileInfoListReq()
+
+ pi = CardApplicationISDR.store_data_tlv(self._cmd.lchan.scc, req,
ProfileInfoListResp)
d = pi.to_dict()
self._cmd.poutput_json(flatten_dict_lists(d['profile_info_list_resp']))
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/42057?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ia6878519a480bd625bb1fa2567c1fd2e0e89b071
Gerrit-Change-Number: 42057
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <[email protected]>