python: fix json encoder should handle Exception
authorRob van der Linde <rob@catalyst.net.nz>
Tue, 19 Mar 2024 20:50:49 +0000 (09:50 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 20 Mar 2024 03:49:35 +0000 (03:49 +0000)
This happens if --json is used and a CommandError is raised, so will affect other commands too where --json is used.

This happens in the print_json_status method.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/netcmd/encoders.py

index 230309f74d94b33ffc392d4620367b49e7774fb0..87f90a57a5dd795c05466dc5baebf3082ff8f6a6 100644 (file)
@@ -40,7 +40,7 @@ class JSONEncoder(json.JSONEncoder):
     """
 
     def default(self, obj):
-        if isinstance(obj, (Decimal, Dn, MessageElement)):
+        if isinstance(obj, (Decimal, Dn, Exception, MessageElement)):
             return str(obj)
         if isinstance(obj, Result):
             return obj.msgs