fixeria has uploaded this change for review.

View Change

global_platform: refactor gen_install_parameters()

Change-Id: I8756fb38016cdf0527fe2e21edb44381d1dc557f
---
M pySim/global_platform/install_param.py
1 file changed, 14 insertions(+), 14 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/78/42378/1
diff --git a/pySim/global_platform/install_param.py b/pySim/global_platform/install_param.py
index 89e6c7f..fc96792 100644
--- a/pySim/global_platform/install_param.py
+++ b/pySim/global_platform/install_param.py
@@ -17,6 +17,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#

+from typing import Optional
+
from osmocom.construct import *
from osmocom.utils import *
from osmocom.tlv import *
@@ -46,7 +48,9 @@
# GPD_SPE_013, table 11-49
pass

-def gen_install_parameters(non_volatile_memory_quota:int, volatile_memory_quota:int, stk_parameter:str):
+def gen_install_parameters(non_volatile_memory_quota: Optional[int] = None,
+ volatile_memory_quota: Optional[int] = None,
+ stk_parameter: Optional[str] = None):

# GPD_SPE_013, table 11-49

@@ -54,19 +58,15 @@
install_params = InstallParams()
install_params_dict = [{'app_specific_params': None}]

- #Conditional
- if non_volatile_memory_quota and volatile_memory_quota and stk_parameter:
- system_specific_params = []
- #Optional
- if non_volatile_memory_quota:
- system_specific_params += [{'non_volatile_memory_quota': non_volatile_memory_quota}]
- #Optional
- if volatile_memory_quota:
- system_specific_params += [{'volatile_memory_quota': volatile_memory_quota}]
- #Optional
- if stk_parameter:
- system_specific_params += [{'stk_parameter': stk_parameter}]
- install_params_dict += [{'system_specific_params': system_specific_params}]
+ system_specific_params = []
+ if non_volatile_memory_quota is not None:
+ system_specific_params.append({'non_volatile_memory_quota': non_volatile_memory_quota})
+ if volatile_memory_quota is not None:
+ system_specific_params.append({'volatile_memory_quota': volatile_memory_quota})
+ if stk_parameter is not None:
+ system_specific_params.append({'stk_parameter': stk_parameter})
+ if system_specific_params:
+ install_params_dict.append({'system_specific_params': system_specific_params})

install_params.from_dict(install_params_dict)
return b2h(install_params.to_bytes())

To view, visit change 42378. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I8756fb38016cdf0527fe2e21edb44381d1dc557f
Gerrit-Change-Number: 42378
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>