Fixed a small handshaking bug thanks to tests
This commit is contained in:
@@ -260,6 +260,25 @@ class ServerCapabilities:
|
||||
|
||||
self.capability_dict = {"versions": list(versions_dict.values())}
|
||||
|
||||
|
||||
# filter duplicates in actions for each version
|
||||
for version in self.capability_dict["versions"]:
|
||||
seen_actions = set()
|
||||
unique_actions = []
|
||||
for action in version["actions"]:
|
||||
if action["action"] not in seen_actions:
|
||||
seen_actions.add(action["action"])
|
||||
unique_actions.append(action)
|
||||
version["actions"] = unique_actions
|
||||
|
||||
# remove action_OTA_Ping from version 2024-10
|
||||
for version in self.capability_dict["versions"]:
|
||||
if version["version"] == "2024-10":
|
||||
version["actions"] = [
|
||||
action for action in version["actions"]
|
||||
if action.get("action") != "action_OTA_Ping"
|
||||
]
|
||||
|
||||
return None
|
||||
|
||||
def get_capabilities_dict(self) -> Dict:
|
||||
@@ -379,12 +398,17 @@ class PingAction(AlpineBitsAction):
|
||||
|
||||
warning_response = OtaPingRs.Warnings(warning=[warning])
|
||||
|
||||
all_capabilities = server_capabilities.get_capabilities_json()
|
||||
|
||||
# remove action_OTA_Ping from version 2024-10
|
||||
all_capabilities = capabilities_dict
|
||||
|
||||
|
||||
all_capabilities_json = json.dumps(all_capabilities, indent=2)
|
||||
|
||||
response_ota_ping = OtaPingRs(
|
||||
version="7.000",
|
||||
warnings=warning_response,
|
||||
echo_data=all_capabilities,
|
||||
echo_data=all_capabilities_json,
|
||||
success="",
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user