Skip to content

Commit 64545f6

Browse files
committed
Fixed a crash of the stager when unknown fields are present in the JSON
Signed-off-by: Loic Pottier <[email protected]>
1 parent 94453a8 commit 64545f6

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/AMSWorkflow/ams/rmq.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from dataclasses import dataclass
77
import functools
88
import logging
9+
import inspect
910
import ssl
1011
import struct
1112
import traceback
@@ -911,8 +912,6 @@ class AMSRMQConfiguration:
911912
"""
912913
service_port: int
913914
service_host: str
914-
rabbitmq_erlang_cookie: str
915-
rabbitmq_name: str
916915
rabbitmq_password: str
917916
rabbitmq_user: str
918917
rabbitmq_vhost: str
@@ -936,16 +935,18 @@ def from_json(cls, json_file):
936935
data = json.load(fd)
937936
data = {key.replace("-", "_"): value for key, value in data.items()}
938937

939-
return cls(**data)
938+
# Filter out extra fields not accepted by this class
939+
return cls(**{
940+
k: v for k, v in data.items()
941+
if k in inspect.signature(cls).parameters
942+
})
940943

941944
def to_dict(self, AMSlib=False):
942945
assert AMSlib, "AMSRMQConfiguration cannot convert class to non amslib dictionary"
943946
if AMSlib:
944947
return {
945948
"service-port": self.service_port,
946949
"service-host": self.service_host,
947-
"rabbitmq-erlang-cookie": self.rabbitmq_erlang_cookie,
948-
"rabbitmq-name": self.rabbitmq_name,
949950
"rabbitmq-password": self.rabbitmq_password,
950951
"rabbitmq-user": self.rabbitmq_user,
951952
"rabbitmq-vhost": self.rabbitmq_vhost,

0 commit comments

Comments
 (0)