laforge has uploaded this change for review. (
https://gerrit.osmocom.org/c/pysim/+/35439?usp=email )
Change subject: filsystem: use pySim.utils.build_construct()
......................................................................
filsystem: use pySim.utils.build_construct()
We recently introduced a pySim.utils.build_construct() wrapper around
the raw call of the construct.build() method. So far, this wrapper
was only used from pySim.tlv, but let's also use it from
pySim.filesystem.
Basically, whenever we use parse_construct(), we should use
build_construct() as the inverse operation.
Change-Id: Ibfd61cd87edc72882aa66d6ff17861a3e918affb
---
M pySim/filesystem.py
M pySim/sysmocom_sja2.py
2 files changed, 26 insertions(+), 9 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/39/35439/1
diff --git a/pySim/filesystem.py b/pySim/filesystem.py
index 0e72921..438e969 100644
--- a/pySim/filesystem.py
+++ b/pySim/filesystem.py
@@ -39,7 +39,7 @@
from smartcard.util import toBytes
from pySim.utils import sw_match, h2b, b2h, i2h, is_hex, auto_int, bertlv_parse_one,
Hexstr
-from pySim.construct import filter_dict, parse_construct
+from pySim.construct import filter_dict, parse_construct, build_construct
from pySim.exceptions import *
from pySim.jsonpath import js_path_find, js_path_modify
from pySim.commands import SimCardCommands
@@ -749,7 +749,7 @@
if callable(method):
return h2b(method(abstract_data))
if self._construct:
- return self._construct.build(abstract_data)
+ return build_construct(self._construct, abstract_data)
elif self._tlv:
t = self._tlv() if inspect.isclass(self._tlv) else self._tlv
t.from_dict(abstract_data)
@@ -777,7 +777,7 @@
raw_bin_data = method(abstract_data)
return b2h(raw_bin_data)
if self._construct:
- return b2h(self._construct.build(abstract_data))
+ return b2h(build_construct(self._construct, abstract_data))
elif self._tlv:
t = self._tlv() if inspect.isclass(self._tlv) else self._tlv
t.from_dict(abstract_data)
@@ -1025,7 +1025,7 @@
raw_bin_data = method(abstract_data, record_nr=record_nr)
return b2h(raw_bin_data)
if self._construct:
- return b2h(self._construct.build(abstract_data))
+ return b2h(build_construct(self._construct, abstract_data))
elif self._tlv:
t = self._tlv() if inspect.isclass(self._tlv) else self._tlv
t.from_dict(abstract_data)
@@ -1053,7 +1053,7 @@
if callable(method):
return h2b(method(abstract_data, record_nr=record_nr))
if self._construct:
- return self._construct.build(abstract_data)
+ return build_construct(self._construct, abstract_data)
elif self._tlv:
t = self._tlv() if inspect.isclass(self._tlv) else self._tlv
t.from_dict(abstract_data)
@@ -1169,7 +1169,7 @@
if callable(method):
return b2h(method(abstract_data))
if self._construct:
- return b2h(filter_dict(self._construct.build(abstract_data)))
+ return b2h(filter_dict(build_construct(self._construct, abstract_data)))
elif self._tlv:
t = self._tlv() if inspect.isclass(self._tlv) else self._tlv
t.from_dict(abstract_data)
@@ -1196,7 +1196,7 @@
if callable(method):
return h2b(method(abstract_data))
if self._construct:
- return filter_dict(self._construct.build(abstract_data))
+ return filter_dict(build_construct(self._construct, abstract_data))
elif self._tlv:
t = self._tlv() if inspect.isclass(self._tlv) else self._tlv
t.from_dict(abstract_data)
diff --git a/pySim/sysmocom_sja2.py b/pySim/sysmocom_sja2.py
index 8d3750c..a25bece 100644
--- a/pySim/sysmocom_sja2.py
+++ b/pySim/sysmocom_sja2.py
@@ -237,9 +237,9 @@
def _encode_bin(self, abstract_data: dict) -> bytearray:
if abstract_data['cfg']['algorithm'] == 'tuak':
- return self._constr_tuak.build(abstract_data)
+ return build_construct(self._constr_tuak, abstract_data)
else:
- return self._construct.build(abstract_data)
+ return build_construct(self._construct, abstract_data)
class EF_USIM_AUTH_KEY_2G(TransparentEF):
--
To view, visit
https://gerrit.osmocom.org/c/pysim/+/35439?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ibfd61cd87edc72882aa66d6ff17861a3e918affb
Gerrit-Change-Number: 35439
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange