Skip to content

Commit 6425e50

Browse files
committed
Pull request #54: compatible wrapper with python 3.8
Merge in ISGAPPSEC/cyperf-api-wrapper from compatible-wrapper-with-python-3.8 to main Squashed commit of the following: commit 79b2e7cec15f12bc207a1408e2bd580ca038f06a Author: iustmitu <iustin.mitu@keysight.com> Date: Tue Jan 27 14:45:49 2026 +0200 fixed sample scripts commit 9ae193e70db6468f8f6db9982bf70c79870c37c9 Author: iustmitu <iustin.mitu@keysight.com> Date: Mon Jan 26 16:56:31 2026 +0200 regenerate wrapper after conflicts commit d29e51b29707bb071f30f76879eb6d1752c57248 Merge: 8694c3f 7b39904 Author: iustmitu <iustin.mitu@keysight.com> Date: Mon Jan 26 16:49:29 2026 +0200 Merge branch 'main' of https://bitbucket.it.keysight.com/scm/isgappsec/cyperf-api-wrapper into compatible-wrapper-with-python-3.8 commit 8694c3fd04b5da8fef7912396cf53e786cc9583b Author: iustmitu <iustin.mitu@keysight.com> Date: Mon Jan 26 16:37:23 2026 +0200 remove endlines commit 313627a6fc726b9c772e6fed92be2dff38e402b3 Author: iustmitu <iustin.mitu@keysight.com> Date: Mon Jan 26 15:49:13 2026 +0200 regenerated wrapper commit 8827e5c9cd44a07ca3a826077eb96e5c6228ced9 Author: iustmitu <iustin.mitu@keysight.com> Date: Thu Dec 4 13:12:01 2025 +0200 compatible wrapper with python 3.8
1 parent 7b39904 commit 6425e50

349 files changed

Lines changed: 763 additions & 632 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

cyperf/api_client.py

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -543,21 +543,40 @@ def __deserialize(self, data, klass):
543543
m = re.match(r'List\[(.*)]', klass)
544544
assert m is not None, "Malformed List type definition"
545545
sub_kls = m.group(1)
546-
return [self.__deserialize(sub_data, sub_kls)
546+
return [self.__deserialize(sub_data, sub_kls)
547547
for sub_data in data]
548548

549549
elif klass.startswith('Dict['):
550550
m = re.match(r'Dict\[([^,]*), (.*)]', klass)
551551
assert m is not None, "Malformed Dict type definition"
552552
sub_kls = m.group(2)
553-
return {k: self.__deserialize(v, sub_kls)
553+
return {k: self.__deserialize(v, sub_kls)
554554
for k, v in data.items()}
555555

556-
elif klass.startswith('typing.Optional['):
557-
m = re.match(r'typing.Optional\[([a-zA-Z0-9_]+\.)*(.*)]', klass)
558-
assert m is not None, "Malformed Optional type definition"
556+
elif klass.startswith('typing.List['):
557+
m = re.match(r'typing\.List\[(.*)]', klass)
558+
assert m is not None, "Malformed typing.List type definition"
559+
sub_kls = m.group(1)
560+
return [self.__deserialize(sub_data, sub_kls) for sub_data in data]
561+
562+
elif klass.startswith('typing.Dict['):
563+
m = re.match(r'typing\.Dict\[([^,]*), (.*)]', klass)
564+
assert m is not None, "Malformed typing.Dict type definition"
559565
sub_kls = m.group(2)
560-
klass = sub_kls
566+
return {k: self.__deserialize(v, sub_kls) for k, v in data.items()}
567+
568+
elif klass.startswith('typing.Optional[') or klass.startswith('Optional['):
569+
m = re.match(r'(?:typing\.)?Optional\[(.*)]', klass)
570+
assert m is not None, "Malformed Optional type definition"
571+
klass = m.group(1)
572+
continue
573+
574+
elif klass.startswith('typing.Union[') or klass.startswith('Union['):
575+
m = re.match(r'(?:typing\.)?Union\[(.*),\s*NoneType]', klass)
576+
assert m is not None, "Malformed Union type definition"
577+
klass = m.group(1)
578+
continue
579+
561580
else:
562581
break
563582

cyperf/models/action.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from cyperf.models.api_link import APILink
2525
from cyperf.models.exchange import Exchange
2626
from cyperf.models.params import Params
27-
from typing import Optional, Set, Union, GenericAlias, get_args
27+
from typing import Optional, Set, Union
2828
from typing_extensions import Self
2929
from pydantic import Field, PrivateAttr
3030

@@ -133,19 +133,19 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
133133

134134
_obj = cls.model_validate({
135135
"DstHost": obj.get("DstHost"),
136-
"Exchanges": [Exchange.from_dict(_item) for _item in obj["Exchanges"]] if obj.get("Exchanges") is not None else None,
136+
"Exchanges": ( [Exchange.from_dict(_item) for _item in obj.get("Exchanges", [])] if obj.get("Exchanges") is not None else None),
137137
"Index": obj.get("Index"),
138138
"IsBanner": obj.get("IsBanner"),
139139
"IsDeprecated": obj.get("IsDeprecated"),
140140
"IsHostname": obj.get("IsHostname"),
141141
"IsStrike": obj.get("IsStrike"),
142142
"Name": obj.get("Name"),
143-
"Params": [Params.from_dict(_item) for _item in obj["Params"]] if obj.get("Params") is not None else None,
143+
"Params": ( [Params.from_dict(_item) for _item in obj.get("Params", [])] if obj.get("Params") is not None else None),
144144
"Port": obj.get("Port"),
145145
"ProtocolID": obj.get("ProtocolID"),
146146
"RequiresUniqueness": obj.get("RequiresUniqueness"),
147147
"id": obj.get("id"),
148-
"links": [APILink.from_dict(_item) for _item in obj["links"]] if obj.get("links") is not None else None
148+
"links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None)
149149
,
150150
"links": obj.get("links")
151151
})

cyperf/models/action_base.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from cyperf.models.api_link import APILink
2525
from cyperf.models.exchange import Exchange
2626
from cyperf.models.params import Params
27-
from typing import Optional, Set, Union, GenericAlias, get_args
27+
from typing import Optional, Set, Union
2828
from typing_extensions import Self
2929
from pydantic import Field, PrivateAttr
3030

@@ -133,19 +133,19 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
133133

134134
_obj = cls.model_validate({
135135
"DstHost": obj.get("DstHost"),
136-
"Exchanges": [Exchange.from_dict(_item) for _item in obj["Exchanges"]] if obj.get("Exchanges") is not None else None,
136+
"Exchanges": ( [Exchange.from_dict(_item) for _item in obj.get("Exchanges", [])] if obj.get("Exchanges") is not None else None),
137137
"Index": obj.get("Index"),
138138
"IsBanner": obj.get("IsBanner"),
139139
"IsDeprecated": obj.get("IsDeprecated"),
140140
"IsHostname": obj.get("IsHostname"),
141141
"IsStrike": obj.get("IsStrike"),
142142
"Name": obj.get("Name"),
143-
"Params": [Params.from_dict(_item) for _item in obj["Params"]] if obj.get("Params") is not None else None,
143+
"Params": ( [Params.from_dict(_item) for _item in obj.get("Params", [])] if obj.get("Params") is not None else None),
144144
"Port": obj.get("Port"),
145145
"ProtocolID": obj.get("ProtocolID"),
146146
"RequiresUniqueness": obj.get("RequiresUniqueness"),
147147
"id": obj.get("id"),
148-
"links": [APILink.from_dict(_item) for _item in obj["links"]] if obj.get("links") is not None else None
148+
"links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None)
149149
,
150150
"links": obj.get("links")
151151
})

cyperf/models/action_input.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from typing import Any, ClassVar, Dict, List, Optional
2323
from cyperf.models.capture_input import CaptureInput
2424
from cyperf.models.parameter_meta import ParameterMeta
25-
from typing import Optional, Set, Union, GenericAlias, get_args
25+
from typing import Optional, Set, Union
2626
from typing_extensions import Self
2727
from pydantic import Field, PrivateAttr
2828

@@ -102,9 +102,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
102102
return _obj
103103

104104
_obj = cls.model_validate({
105-
"Captures": [CaptureInput.from_dict(_item) for _item in obj["Captures"]] if obj.get("Captures") is not None else None,
105+
"Captures": ( [CaptureInput.from_dict(_item) for _item in obj.get("Captures", [])] if obj.get("Captures") is not None else None),
106106
"Name": obj.get("Name"),
107-
"Parameters": [ParameterMeta.from_dict(_item) for _item in obj["Parameters"]] if obj.get("Parameters") is not None else None
107+
"Parameters": ( [ParameterMeta.from_dict(_item) for _item in obj.get("Parameters", [])] if obj.get("Parameters") is not None else None)
108108
,
109109
"links": obj.get("links")
110110
})

cyperf/models/action_input_find_param.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from pydantic import BaseModel, ConfigDict, Field, StrictStr
2222
from typing import Any, ClassVar, Dict, List, Optional
2323
from cyperf.models.capture_input_find_param import CaptureInputFindParam
24-
from typing import Optional, Set, Union, GenericAlias, get_args
24+
from typing import Optional, Set, Union
2525
from typing_extensions import Self
2626
from pydantic import Field, PrivateAttr
2727

@@ -93,7 +93,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
9393
return _obj
9494

9595
_obj = cls.model_validate({
96-
"Captures": [CaptureInputFindParam.from_dict(_item) for _item in obj["Captures"]] if obj.get("Captures") is not None else None,
96+
"Captures": ( [CaptureInputFindParam.from_dict(_item) for _item in obj.get("Captures", [])] if obj.get("Captures") is not None else None),
9797
"Name": obj.get("Name")
9898
,
9999
"links": obj.get("links")

cyperf/models/action_metadata.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from typing import Any, ClassVar, Dict, List, Optional
2323
from cyperf.models.app_flow import AppFlow
2424
from cyperf.models.parameter_meta import ParameterMeta
25-
from typing import Optional, Set, Union, GenericAlias, get_args
25+
from typing import Optional, Set, Union
2626
from typing_extensions import Self
2727
from pydantic import Field, PrivateAttr
2828

@@ -105,10 +105,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
105105

106106
_obj = cls.model_validate({
107107
"FlowIndex": obj.get("FlowIndex"),
108-
"Flows": [AppFlow.from_dict(_item) for _item in obj["Flows"]] if obj.get("Flows") is not None else None,
108+
"Flows": ( [AppFlow.from_dict(_item) for _item in obj.get("Flows", [])] if obj.get("Flows") is not None else None),
109109
"Index": obj.get("Index"),
110110
"Name": obj.get("Name"),
111-
"Parameters": [ParameterMeta.from_dict(_item) for _item in obj["Parameters"]] if obj.get("Parameters") is not None else None
111+
"Parameters": ( [ParameterMeta.from_dict(_item) for _item in obj.get("Parameters", [])] if obj.get("Parameters") is not None else None)
112112
,
113113
"links": obj.get("links")
114114
})

cyperf/models/activation_code_info.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
2222
from typing import Any, ClassVar, Dict, List
23-
from typing import Optional, Set, Union, GenericAlias, get_args
23+
from typing import Optional, Set, Union
2424
from typing_extensions import Self
2525
from pydantic import Field, PrivateAttr
2626

cyperf/models/activation_code_list_request.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
from pydantic import BaseModel, ConfigDict, Field, StrictStr
2222
from typing import Any, ClassVar, Dict, List, Optional
23-
from typing import Optional, Set, Union, GenericAlias, get_args
23+
from typing import Optional, Set, Union
2424
from typing_extensions import Self
2525
from pydantic import Field, PrivateAttr
2626

cyperf/models/activation_code_request.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
from pydantic import BaseModel, ConfigDict, Field, StrictStr
2222
from typing import Any, ClassVar, Dict, List
23-
from typing import Optional, Set, Union, GenericAlias, get_args
23+
from typing import Optional, Set, Union
2424
from typing_extensions import Self
2525
from pydantic import Field, PrivateAttr
2626

cyperf/models/add_action_info.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
2222
from typing import Any, ClassVar, Dict, List
23-
from typing import Optional, Set, Union, GenericAlias, get_args
23+
from typing import Optional, Set, Union
2424
from typing_extensions import Self
2525
from pydantic import Field, PrivateAttr
2626

0 commit comments

Comments
 (0)