neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/40206?usp=email )
Change subject: esim param_source: add is_abstract flag ...................................................................... esim param_source: add is_abstract flag Allow omitting some ParamSource subclassed from ParamSource.get_all_implementations(). My previous attempts at automagically detecting abstract classes failed conceptually, and the easiest, most explicit way is alrady used in ConfigurableParameter: add an is_abstract flag. Prep for Ie7171c152a7b478736f8825050305606b5af5735 Change-Id: Icfccdd0a8ecb5e0e9d22afa490d73c9f1849a64c --- M pySim/esim/saip/param_source.py 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/06/40206/1 diff --git a/pySim/esim/saip/param_source.py b/pySim/esim/saip/param_source.py index ffb03b2..407882d 100644 --- a/pySim/esim/saip/param_source.py +++ b/pySim/esim/saip/param_source.py @@ -31,6 +31,7 @@ class ParamSource: 'abstract parameter source' + is_abstract = True # This name should be short but descriptive, useful for a user interface, like 'random decimal digits'. name = 'none' @@ -41,7 +42,7 @@ # return a set() so that multiple inheritance does not return dups return set(c for c in all_subclasses_of(cls) - if ((not blacklist) or (c not in blacklist)) + if (not c.is_abstract) and ((not blacklist) or (c not in blacklist)) ) @classmethod @@ -60,6 +61,7 @@ class ConstantSource(ParamSource): 'one value for all' + is_abstract = False name = 'constant' def __init__(self, val:str): @@ -70,6 +72,7 @@ class RandomDigitSource(ParamSource): 'return a different sequence of random decimal digits each' + is_abstract = False name = 'random decimal digits' def __init__(self, num_digits, first_value, last_value): @@ -109,6 +112,7 @@ class RandomHexDigitSource(ParamSource): 'return a different sequence of random hexadecimal digits each' + is_abstract = False name = 'random hexadecimal digits' def __init__(self, num_digits): @@ -131,6 +135,7 @@ class IncDigitSource(RandomDigitSource): 'incrementing sequence of digits' + is_abstract = False name = 'incrementing decimal digits' def __init__(self, *args, **kwargs): @@ -160,6 +165,7 @@ class CsvSource(ParamSource): 'apply a column from a CSV row, as passed in to ParamSource.get_next(csv_row)' + is_abstract = False name = 'from CSV' def __init__(self, csv_column): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/40206?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: Icfccdd0a8ecb5e0e9d22afa490d73c9f1849a64c Gerrit-Change-Number: 40206 Gerrit-PatchSet: 1 Gerrit-Owner: neels <nhofm...@sysmocom.de>