laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/37621?usp=email )
Change subject: pySim.runtime: Be more verbose if incompatible method is called ......................................................................
pySim.runtime: Be more verbose if incompatible method is called
Change-Id: I57190d50a63e0c22a8c5921e1348fae31b23e3d4 --- M pySim/runtime.py 1 file changed, 21 insertions(+), 6 deletions(-)
Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified
diff --git a/pySim/runtime.py b/pySim/runtime.py index 2d1f12b..a90128d 100644 --- a/pySim/runtime.py +++ b/pySim/runtime.py @@ -451,7 +451,8 @@ binary data read from the file """ if not isinstance(self.selected_file, TransparentEF): - raise TypeError("Only works with TransparentEF") + raise TypeError("Only works with TransparentEF, but %s is %s" % (self.selected_file, + self.selected_file.__class__.__mro__)) return self.scc.read_binary(self.selected_file.fid, length, offset)
def read_binary_dec(self) -> Tuple[dict, str]: @@ -475,7 +476,8 @@ offset : Offset into the file from which to write 'data_hex' """ if not isinstance(self.selected_file, TransparentEF): - raise TypeError("Only works with TransparentEF") + raise TypeError("Only works with TransparentEF, but %s is %s" % (self.selected_file, + self.selected_file.__class__.__mro__)) return self.scc.update_binary(self.selected_file.fid, data_hex, offset, conserve=self.rs.conserve_write)
def update_binary_dec(self, data: dict): @@ -497,7 +499,8 @@ hex string of binary data contained in record """ if not isinstance(self.selected_file, LinFixedEF): - raise TypeError("Only works with Linear Fixed EF") + raise TypeError("Only works with Linear Fixed EF, but %s is %s" % (self.selected_file, + self.selected_file.__class__.__mro__)) # returns a string of hex nibbles return self.scc.read_record(self.selected_file.fid, rec_nr)
@@ -520,7 +523,8 @@ data_hex : Hex string binary data to be written """ if not isinstance(self.selected_file, LinFixedEF): - raise TypeError("Only works with Linear Fixed EF") + raise TypeError("Only works with Linear Fixed EF, but %s is %s" % (self.selected_file, + self.selected_file.__class__.__mro__)) return self.scc.update_record(self.selected_file.fid, rec_nr, data_hex, conserve=self.rs.conserve_write, leftpad=self.selected_file.leftpad) @@ -556,7 +560,8 @@ list of integer tags contained in EF """ if not isinstance(self.selected_file, BerTlvEF): - raise TypeError("Only works with BER-TLV EF") + raise TypeError("Only works with BER-TLV EF, but %s is %s" % (self.selected_file, + self.selected_file.__class__.__mro__)) data, _sw = self.scc.retrieve_data(self.selected_file.fid, 0x5c) _tag, _length, value, _remainder = bertlv_parse_one(h2b(data)) return list(value) @@ -569,7 +574,8 @@ data_hex : Hex string binary data to be written (value portion) """ if not isinstance(self.selected_file, BerTlvEF): - raise TypeError("Only works with BER-TLV EF") + raise TypeError("Only works with BER-TLV EF, but %s is %s" % (self.selected_file, + self.selected_file.__class__.__mro__)) return self.scc.set_data(self.selected_file.fid, tag, data_hex, conserve=self.rs.conserve_write)
def register_cmds(self, cmd_app=None):