diff options
author | Harald Welte <laforge@osmocom.org> | 2021-01-08 21:22:38 +0100 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2021-03-02 07:50:23 +0100 |
commit | 79b5ba4bdfb65346dc4ac9b04db5aa39593bca9a (patch) | |
tree | 1a09adcdaf62c2ae44b4cd3d562f82dba03b4cbb | |
parent | a670425088a7f62d2f57de588ae75c0c3092fc3a (diff) |
utils.py: de-couple sanitize_pin_adm from argparse 'opts'
This allows the function to be re-used in other contexts
Change-Id: I116e85acca3aeb0a0c24f74653c500ac2dc1d844
-rwxr-xr-x | pySim-prog.py | 2 | ||||
-rw-r--r-- | pySim/utils.py | 16 |
2 files changed, 8 insertions, 10 deletions
diff --git a/pySim-prog.py b/pySim-prog.py index fbf2b73..4f54963 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -446,7 +446,7 @@ def gen_parameters(opts): else: opc = ''.join(['%02x' % random.randrange(0,256) for i in range(16)]) - pin_adm = sanitize_pin_adm(opts) + pin_adm = sanitize_pin_adm(opts.pin_adm, opts.pin_adm_hex) # ePDG Selection Information if opts.epdgSelection: diff --git a/pySim/utils.py b/pySim/utils.py index 1373551..a733d87 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -571,7 +571,7 @@ def enc_addr_tlv(addr, addr_type='00'): return s -def sanitize_pin_adm(opts): +def sanitize_pin_adm(pin_adm, pin_adm_hex = None): """ The ADM pin can be supplied either in its hexadecimal form or as ascii string. This function checks the supplied opts parameter and @@ -579,19 +579,17 @@ def sanitize_pin_adm(opts): it was originally supplied by the user """ - pin_adm = None - - if opts.pin_adm is not None: - if len(opts.pin_adm) <= 8: - pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm]) + if pin_adm is not None: + if len(pin_adm) <= 8: + pin_adm = ''.join(['%02x'%(ord(x)) for x in pin_adm]) pin_adm = rpad(pin_adm, 16) else: raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") - if opts.pin_adm_hex is not None: - if len(opts.pin_adm_hex) == 16: - pin_adm = opts.pin_adm_hex + if pin_adm_hex is not None: + if len(pin_adm_hex) == 16: + pin_adm = pin_adm_hex # Ensure that it's hex-encoded try: try_encode = h2b(pin_adm) |