]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
samba-tool dns: use dnsserver.flag_from_string()
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Fri, 26 Mar 2021 07:52:20 +0000 (20:52 +1300)
committerDouglas Bagnall <dbagnall@samba.org>
Thu, 8 Apr 2021 21:54:35 +0000 (21:54 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
python/samba/netcmd/dns.py

index 183cc3dae6690fe81c6e7774fb9c091b3b572349..a267c4105b50fd776263cb2ea437c54e5c4ee8ab 100644 (file)
@@ -40,7 +40,7 @@ from samba.netcmd import (
 )
 from samba.dcerpc import dnsp, dnsserver
 
-from samba.dnsserver import record_from_string, DNSParseError
+from samba.dnsserver import record_from_string, DNSParseError, flag_from_string
 
 
 def dns_connect(server, lp, creds):
@@ -166,30 +166,10 @@ def dns_addr_array_string(array):
 
 
 def dns_type_flag(rec_type):
-    rtype = rec_type.upper()
-    if rtype == 'A':
-        record_type = dnsp.DNS_TYPE_A
-    elif rtype == 'AAAA':
-        record_type = dnsp.DNS_TYPE_AAAA
-    elif rtype == 'PTR':
-        record_type = dnsp.DNS_TYPE_PTR
-    elif rtype == 'NS':
-        record_type = dnsp.DNS_TYPE_NS
-    elif rtype == 'CNAME':
-        record_type = dnsp.DNS_TYPE_CNAME
-    elif rtype == 'SOA':
-        record_type = dnsp.DNS_TYPE_SOA
-    elif rtype == 'MX':
-        record_type = dnsp.DNS_TYPE_MX
-    elif rtype == 'SRV':
-        record_type = dnsp.DNS_TYPE_SRV
-    elif rtype == 'TXT':
-        record_type = dnsp.DNS_TYPE_TXT
-    elif rtype == 'ALL':
-        record_type = dnsp.DNS_TYPE_ALL
-    else:
-        raise CommandError('Unknown type of DNS record %s' % rec_type)
-    return record_type
+    try:
+        return flag_from_string(rec_type)
+    except DNSParseError as e:
+        raise CommandError(*e.args)
 
 
 def dns_client_version(cli_version):