neels has uploaded this change for review. (
https://gerrit.osmocom.org/c/pysim/+/42261?usp=email )
Change subject: saip: SmspTpScAddr: fix get_values_from_pes
......................................................................
saip: SmspTpScAddr: fix get_values_from_pes
Change-Id: I2010305340499c907bb7618c04c61e194db34814
---
M pySim/esim/saip/personalization.py
1 file changed, 24 insertions(+), 6 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/61/42261/1
diff --git a/pySim/esim/saip/personalization.py
b/pySim/esim/saip/personalization.py
index 7d24453..de6e6ce 100644
--- a/pySim/esim/saip/personalization.py
+++ b/pySim/esim/saip/personalization.py
@@ -554,21 +554,39 @@
example_input = '+49301234567'
default_source = param_source.ConstantSource
- @classmethod
- def validate_val(cls, val):
- val = super().validate_val(val)
- addr_str = str(val)
+ @staticmethod
+ def str_to_tuple(addr_str):
if addr_str[0] == '+':
digits = addr_str[1:]
international = True
else:
digits = addr_str
international = False
+ return (international, digits)
+
+ @staticmethod
+ def tuple_to_str(addr_tuple):
+ international, digits = addr_tuple
+ if international:
+ ret = '+'
+ else:
+ ret = ''
+ ret += digits
+ return ret
+
+ @classmethod
+ def validate_val(cls, val):
+ val = super().validate_val(val)
+
+ addr_tuple = cls.str_to_tuple(str(val))
+
+ international, digits = addr_tuple
if len(digits) > 20:
raise ValueError(f'TP-SC-ADDR must not exceed 20 digits:
{digits!r}')
if not digits.isdecimal():
raise ValueError(f'TP-SC-ADDR must only contain decimal digits:
{digits!r}')
- return (international, digits)
+
+ return addr_tuple
@classmethod
def apply_val(cls, pes: ProfileElementSequence, val):
@@ -627,7 +645,7 @@
continue
international = (international == 'international')
- yield (international, digits)
+ yield { cls.name: cls.tuple_to_str((international, digits)) }
class SdKey(BinaryParam):
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/42261?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: I2010305340499c907bb7618c04c61e194db34814
Gerrit-Change-Number: 42261
Gerrit-PatchSet: 1
Gerrit-Owner: neels <[email protected]>