X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethod.py;fp=PLC%2FMethod.py;h=53d1530472e3f9ac1003179f84aa085c91e6f1b1;hb=9735366c3bf4070802e42ce59d5ba7c94ea8f1f5;hp=f01271dbf2d237f2e6c8072f69ffa0978f9e4317;hpb=af097c90f7138b2d9a0269a3c19eb456139c37db;p=plcapi.git diff --git a/PLC/Method.py b/PLC/Method.py index f01271d..53d1530 100644 --- a/PLC/Method.py +++ b/PLC/Method.py @@ -298,14 +298,16 @@ class Method: """ # If any of a number of types is acceptable - if isinstance(expected, Mixed): + # try them one by one, if one succeeds then it's fine + if expected and isinstance(expected, Mixed): + to_raise = None for item in expected: try: self.type_check(name, value, item, args) return except PLCInvalidArgument as fault: - pass - raise fault + to_raise = fault + raise to_raise # If an authentication structure is expected, save it and # authenticate after basic type checking is done.