]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
samba-tool dns: add uses DnsConnWrapper messages
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Fri, 12 Aug 2022 04:51:25 +0000 (16:51 +1200)
committerDouglas Bagnall <dbagnall@samba.org>
Tue, 6 Sep 2022 21:12:36 +0000 (21:12 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/netcmd/dns.py

index e3a26b53a2387c066474e53b18480fc31c1aa448..2fcbc40b457f172c98a41a322daef941aa45fd59 100644 (file)
@@ -1154,15 +1154,17 @@ class cmd_add_record(Command):
         add_rec_buf = dnsserver.DNS_RPC_RECORD_BUF()
         add_rec_buf.rec = rec
 
-        try:
-            dns_conn.DnssrvUpdateRecord2(dnsserver.DNS_CLIENT_VERSION_LONGHORN,
-                                         0, server, zone, name, add_rec_buf, None)
-        except WERRORError as e:
-            if e.args[0] == werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST:
-                raise CommandError('Zone does not exist; record could not be added. zone[%s] name[%s]' % (zone, name))
-            if e.args[0] == werror.WERR_DNS_ERROR_RECORD_ALREADY_EXISTS:
-                raise CommandError('Record already exists; record could not be added. zone[%s] name[%s]' % (zone, name))
-            raise e
+        messages = {
+            werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST: (
+                'Zone does not exist; record could not be added. '
+                f'zone[{zone}] name[{name}'),
+            werror.WERR_DNS_ERROR_RECORD_ALREADY_EXISTS: (
+                'Record already exists; record could not be added. '
+                f'zone[{zone}] name[{name}]')
+        }
+        dns_conn.DnssrvUpdateRecord2(dnsserver.DNS_CLIENT_VERSION_LONGHORN,
+                                     0, server, zone, name, add_rec_buf, None,
+                                     messages=messages)
 
         self.outf.write('Record added successfully\n')