netcmd: silos: silo and auth policy commands use Query class better
authorRob van der Linde <rob@catalyst.net.nz>
Mon, 26 Feb 2024 04:19:58 +0000 (17:19 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 1 Mar 2024 04:45:36 +0000 (04:45 +0000)
Since the introduction of the Query class these can be written to be a lot clearer using models.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
python/samba/netcmd/domain/auth/policy.py
python/samba/netcmd/domain/auth/silo.py
python/samba/netcmd/domain/claim/claim_type.py
python/samba/netcmd/domain/claim/value_type.py

index f5347cdaa034020179ae9ce3443dae0edee1d71d..d7156510a1c05acd950ecf87f69a1f59b5f1e051 100644 (file)
@@ -188,19 +188,17 @@ class cmd_domain_auth_policy_list(Command):
 
         ldb = self.ldb_connect(hostopts, sambaopts, credopts)
 
-        # Authentication policies grouped by cn.
         try:
-            policies = {policy.cn: policy.as_dict()
-                        for policy in AuthenticationPolicy.query(ldb)}
+            policies = AuthenticationPolicy.query(ldb)
         except ModelError as e:
             raise CommandError(e)
 
         # Using json output format gives more detail.
         if output_format == "json":
-            self.print_json(policies)
+            self.print_json({policy.name: policy for policy in policies})
         else:
-            for policy in policies.keys():
-                print(policy, file=self.outf)
+            for policy in policies:
+                print(policy.name, file=self.outf)
 
 
 class cmd_domain_auth_policy_view(Command):
index 410b04fc702c9a2e09eee4665d27962d7806dd32..52a5523847cb2b02ea57cf02b16f35473eaff339 100644 (file)
@@ -49,19 +49,17 @@ class cmd_domain_auth_silo_list(Command):
 
         ldb = self.ldb_connect(hostopts, sambaopts, credopts)
 
-        # Authentication silos grouped by cn.
         try:
-            silos = {silo.cn: silo.as_dict()
-                     for silo in AuthenticationSilo.query(ldb)}
+            silos = AuthenticationSilo.query(ldb)
         except ModelError as e:
             raise CommandError(e)
 
         # Using json output format gives more detail.
         if output_format == "json":
-            self.print_json(silos)
+            self.print_json({silo.name: silo for silo in silos})
         else:
-            for silo in silos.keys():
-                print(silo, file=self.outf)
+            for silo in silos:
+                print(silo.name, file=self.outf)
 
 
 class cmd_domain_auth_silo_view(Command):
index 109f79c0a030aebddb49d51db0ae1011a35c875e..3b82b06405d3f3860402887397ebafc70a1fd482 100644 (file)
@@ -298,19 +298,18 @@ class cmd_domain_claim_claim_type_list(Command):
 
         ldb = self.ldb_connect(hostopts, sambaopts, credopts)
 
-        # Claim types grouped by displayName.
         try:
-            claim_types = {claim_type.display_name: claim_type.as_dict()
-                           for claim_type in ClaimType.query(ldb)}
+            claim_types = ClaimType.query(ldb)
         except ModelError as e:
             raise CommandError(e)
 
         # Using json output format gives more detail.
         if output_format == "json":
-            self.print_json(claim_types)
+            self.print_json({claim_type.display_name: claim_type
+                             for claim_type in claim_types})
         else:
-            for claim_type in claim_types.keys():
-                print(claim_type, file=self.outf)
+            for claim_type in claim_types:
+                print(claim_type.display_name, file=self.outf)
 
 
 class cmd_domain_claim_claim_type_view(Command):
index a15f7c5757015fdd7006c642d2ce045cf7a06c23..ca30bd6890441b753c0ae590b74b08fec753307e 100644 (file)
@@ -47,19 +47,18 @@ class cmd_domain_claim_value_type_list(Command):
 
         ldb = self.ldb_connect(hostopts, sambaopts, credopts)
 
-        # Value types grouped by display name.
         try:
-            value_types = {value_type.display_name: value_type.as_dict()
-                           for value_type in ValueType.query(ldb)}
+            value_types = ValueType.query(ldb)
         except ModelError as e:
             raise CommandError(e)
 
         # Using json output format gives more detail.
         if output_format == "json":
-            self.print_json(value_types)
+            self.print_json({value_type.display_name: value_type
+                             for value_type in value_types})
         else:
-            for value_type in value_types.keys():
-                print(value_type, file=self.outf)
+            for value_type in value_types:
+                print(value_type.display_name, file=self.outf)
 
 
 class cmd_domain_claim_value_type_view(Command):