From 5f2dfc28ff45d979d37d9f799ed2dc526c929f14 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 16 Sep 2024 13:01:14 +0200 Subject: [PATCH] pySim/profile: Change match_with_profile from static to class method This was suggested by vyanitskiy during gerrit patch review in https://gerrit.osmocom.org/c/pysim/+/38049 in order to make the upcoming eUICC CardProfiles simpler. Change-Id: Ia7c049b31cb1c5c5bb682406d9dd7a73bcd43185 --- pySim/cdma_ruim.py | 4 ++-- pySim/profile.py | 4 ++-- pySim/ts_102_221.py | 4 ++-- pySim/ts_51_011.py | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pySim/cdma_ruim.py b/pySim/cdma_ruim.py index 96ff1a42..747a0d25 100644 --- a/pySim/cdma_ruim.py +++ b/pySim/cdma_ruim.py @@ -190,8 +190,8 @@ class CardProfileRUIM(CardProfile): # TODO: Response parameters/data in case of DF_CDMA (section 2.6) return CardProfileSIM.decode_select_response(data_hex) - @staticmethod - def match_with_card(scc: SimCardCommands) -> bool: + @classmethod + def match_with_card(cls, scc: SimCardCommands) -> bool: return match_ruim(scc) class AddonRUIM(CardProfileAddon): diff --git a/pySim/profile.py b/pySim/profile.py index 74946baf..ae9e19fe 100644 --- a/pySim/profile.py +++ b/pySim/profile.py @@ -137,9 +137,9 @@ class CardProfile: """ return data_hex - @staticmethod + @classmethod @abc.abstractmethod - def match_with_card(scc: SimCardCommands) -> bool: + def match_with_card(cls, scc: SimCardCommands) -> bool: """Check if the specific profile matches the card. This method is a placeholder that is overloaded by specific dirived classes. The method actively probes the card to make sure the profile class matches the diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index aba28cda..c1c1388b 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -884,8 +884,8 @@ class CardProfileUICC(CardProfile): d = t.to_dict() return flatten_dict_lists(d['fcp_template']) - @staticmethod - def match_with_card(scc: SimCardCommands) -> bool: + @classmethod + def match_with_card(cls, scc: SimCardCommands) -> bool: return match_uicc(scc) @with_default_category('TS 102 221 Specific Commands') diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index c6720fe3..69c8c79b 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -1192,8 +1192,8 @@ class CardProfileSIM(CardProfile): ret['life_cycle_status_int'] = 'terminated' return ret - @staticmethod - def match_with_card(scc: SimCardCommands) -> bool: + @classmethod + def match_with_card(cls, scc: SimCardCommands) -> bool: return match_sim(scc)