laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/pysim/+/33660 )


Change subject: TLV_IE_Collection: use snake-style names during from_dict()
......................................................................

TLV_IE_Collection: use snake-style names during from_dict()

The TLV_IE_Collection, just like the individual TLV classes, do
use their snake-style names when converting from binary to dict
using the to_dict() method.  It is inconsistent (and a bug) to
expect the CamelCase names during encoding (from_dict).  After all,
we want the output of to_dict() to be used as input to from_dict().

Change-Id: Iabd1ad98c3878659d123eef919c22ca824886f8a
---
M pySim/ara_m.py
M pySim/tlv.py
2 files changed, 27 insertions(+), 12 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/60/33660/1

diff --git a/pySim/ara_m.py b/pySim/ara_m.py
index 59f205c..e2e6da1 100644
--- a/pySim/ara_m.py
+++ b/pySim/ara_m.py
@@ -349,28 +349,28 @@
             # REF
             ref_do_content = []
             if opts.aid:
-                ref_do_content += [{'AidRefDO': opts.aid}]
+                ref_do_content += [{'aid_ref_do': opts.aid}]
             elif opts.aid_empty:
-                ref_do_content += [{'AidRefEmptyDO': None}]
-            ref_do_content += [{'DevAppIdRefDO': opts.device_app_id}]
+                ref_do_content += [{'aid_ref_empty_do': None}]
+            ref_do_content += [{'dev_app_id_ref_do': opts.device_app_id}]
             if opts.pkg_ref:
-                ref_do_content += [{'PkgRefDO': opts.pkg_ref}]
+                ref_do_content += [{'pkg_ref_do': opts.pkg_ref}]
             # AR
             ar_do_content = []
             if opts.apdu_never:
-                ar_do_content += [{'ApduArDO': {'generic_access_rule': 
'never'}}]
+                ar_do_content += [{'apdu_ar_od': {'generic_access_rule': 
'never'}}]
             elif opts.apdu_always:
-                ar_do_content += [{'ApduArDO': {'generic_access_rule': 
'always'}}]
+                ar_do_content += [{'apdu_ar_do': {'generic_access_rule': 
'always'}}]
             elif opts.apdu_filter:
                 # TODO: multiple filters
-                ar_do_content += [{'ApduArDO': {'apdu_filter': 
[opts.apdu_filter]}}]
+                ar_do_content += [{'apdu_ar_do': {'apdu_filter': 
[opts.apdu_filter]}}]
             if opts.nfc_always:
-                ar_do_content += [{'NfcArDO': {'nfc_event_access_rule': 
'always'}}]
+                ar_do_content += [{'nfc_ar_do': {'nfc_event_access_rule': 
'always'}}]
             elif opts.nfc_never:
-                ar_do_content += [{'NfcArDO': {'nfc_event_access_rule': 
'never'}}]
+                ar_do_content += [{'nfc_ar_do': {'nfc_event_access_rule': 
'never'}}]
             if opts.android_permissions:
-                ar_do_content += [{'PermArDO': {'permissions': 
opts.android_permissions}}]
-            d = [{'RefArDO': [{'RefDO': ref_do_content}, {'ArDO': 
ar_do_content}]}]
+                ar_do_content += [{'perm_ar_do': {'permissions': 
opts.android_permissions}}]
+            d = [{'ref_ar_do': [{'ref_do': ref_do_content}, {'ar_do': 
ar_do_content}]}]
             csrado = CommandStoreRefArDO()
             csrado.from_dict(d)
             res_do = ADF_ARAM.store_data(self._cmd.card._scc._tp, csrado)
diff --git a/pySim/tlv.py b/pySim/tlv.py
index bd95505..22a14cd 100644
--- a/pySim/tlv.py
+++ b/pySim/tlv.py
@@ -318,7 +318,7 @@
         self.members_by_tag = {}
         self.members_by_name = {}
         self.members_by_tag = {m.tag: m for m in self.members}
-        self.members_by_name = {m.__name__: m for m in self.members}
+        self.members_by_name = {camel_to_snake(m.__name__): m for m in 
self.members}
         # if we are a constructed IE, [ordered] list of actual child-IE 
instances
         self.children = kwargs.get('children', [])
         self.encoded = None

--
To view, visit https://gerrit.osmocom.org/c/pysim/+/33660
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Iabd1ad98c3878659d123eef919c22ca824886f8a
Gerrit-Change-Number: 33660
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <[email protected]>
Gerrit-MessageType: newchange

Reply via email to