provision: Factor out determination of new netbios name.
authorJelmer Vernooij <jelmer@samba.org>
Sun, 26 Feb 2012 19:38:50 +0000 (20:38 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Sun, 26 Feb 2012 19:52:05 +0000 (20:52 +0100)
source4/scripting/python/samba/provision/__init__.py

index 42da9033021eec84fcb4f6ada56329a7eafa32cc..f28fe5b4f9542f928382cb06a5b9d7be45138f4e 100644 (file)
@@ -480,6 +480,18 @@ def provision_paths_from_lp(lp, dnsdomain):
     return paths
 
 
+def determine_netbios_name(hostname):
+    """Determine a netbios name from a hostname."""
+    netbiosname = hostname
+    # remove forbidden chars
+    newnbname = ""
+    for x in netbiosname:
+        if x.isalnum() or x in VALID_NETBIOS_CHARS:
+            newnbname = "%s%c" % (newnbname, x)
+    # force the length to be <16
+    return newnbname[0:15].upper()
+
+
 def guess_names(lp=None, hostname=None, domain=None, dnsdomain=None,
                 serverrole=None, rootdn=None, domaindn=None, configdn=None,
                 schemadn=None, serverdn=None, sitename=None):
@@ -490,14 +502,7 @@ def guess_names(lp=None, hostname=None, domain=None, dnsdomain=None,
 
     netbiosname = lp.get("netbios name")
     if netbiosname is None:
-        netbiosname = hostname
-        # remove forbidden chars
-        newnbname = ""
-        for x in netbiosname:
-            if x.isalnum() or x in VALID_NETBIOS_CHARS:
-                newnbname = "%s%c" % (newnbname, x)
-        # force the length to be <16
-        netbiosname = newnbname[0:15]
+        netbiosname = determine_netbios_name(hostname)
     assert netbiosname is not None
     netbiosname = netbiosname.upper()
     if not valid_netbios_name(netbiosname):