python compat: remove text_type
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Sat, 4 Jul 2020 02:27:06 +0000 (14:27 +1200)
committerNoel Power <npower@samba.org>
Tue, 11 Aug 2020 16:37:35 +0000 (16:37 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Noel Power <npower@samba.org>
19 files changed:
python/samba/compat.py
python/samba/gp_parse/gp_csv.py
python/samba/join.py
python/samba/netcmd/user.py
python/samba/netcmd/visualize.py
python/samba/samdb.py
python/samba/tests/__init__.py
python/samba/tests/auth_log_netlogon.py
python/samba/tests/auth_log_samlogon.py
python/samba/tests/dcerpc/raw_testcase.py
python/samba/tests/dcerpc/unix.py
python/samba/tests/password_hash.py
python/samba/tests/password_hash_ldap.py
python/samba/tests/samba_tool/user_wdigest.py
source4/dsdb/tests/python/sam.py
source4/dsdb/tests/python/sort.py
source4/scripting/bin/samba_dnsupdate
source4/scripting/devel/pfm_verify.py
source4/torture/drs/python/samba_tool_drs_showrepl.py

index 299b1c8a301ea01ebe8e6aac18b24c9d27e86389..b517999defd8291da097d06edb5a8b315154cc48 100644 (file)
@@ -71,9 +71,6 @@ if PY3:
     # compat functions
     from functools import cmp_to_key as cmp_to_key_fn
 
-    # compat types
-    text_type = str
-
     # alias
     def ConfigParser(defaults=None, dict_type=dict, allow_no_value=False):
         from configparser import ConfigParser
index d56d7d67b992382a0cd06bbf20583c869a113c32..ebe9c4b6fe555afb98b3b00577a48dfceccc2e50 100644 (file)
@@ -24,7 +24,6 @@ import io
 from io import BytesIO
 from xml.etree.ElementTree import Element, SubElement
 from samba.gp_parse import GPParser
-from samba.compat import text_type
 # [MS-GPAC] Group Policy Audit Configuration
 class GPAuditCsvParser(GPParser):
     encoding = 'utf-8'
@@ -81,14 +80,14 @@ class GPAuditCsvParser(GPParser):
                 header = False
                 self.header = []
                 for v in r.findall('Value'):
-                    if not isinstance(v.text, text_type):
+                    if not isinstance(v.text, str):
                         v.text = v.text.decode(self.output_encoding)
                     self.header.append(v.text)
             else:
                 line = {}
                 for i, v in enumerate(r.findall('Value')):
                     line[self.header[i]] = v.text if v.text is not None else ''
-                    if not isinstance(self.header[i], text_type):
+                    if not isinstance(self.header[i], str):
                         line[self.header[i]] = line[self.header[i]].decode(self.output_encoding)
 
                 self.lines.append(line)
index a35cf1d9a386625b56ddffc48a11368a287c506f..dca9ff634d5f24413ef5abfb1db8da79418353c2 100644 (file)
@@ -49,7 +49,6 @@ import re
 import os
 import tempfile
 from collections import OrderedDict
-from samba.compat import text_type
 from samba.compat import get_string
 from samba.netcmd import CommandError
 
@@ -505,7 +504,7 @@ class DCJoinContext(object):
                     v = [rec[a]]
                 else:
                     v = rec[a]
-                v = [x.encode('utf8') if isinstance(x, text_type) else x for x in v]
+                v = [x.encode('utf8') if isinstance(x, str) else x for x in v]
                 rattr = ctx.tmp_samdb.dsdb_DsReplicaAttribute(ctx.tmp_samdb, a, v)
                 attrs.append(rattr)
 
index 7d4464e2aa9e66127b337ada80e4468d4c4548bc..95c21f52a04f4984ca0afe184eb795620e979b8f 100644 (file)
@@ -53,7 +53,6 @@ from samba.netcmd import (
     SuperCommand,
     Option,
 )
-from samba.compat import text_type
 from samba.compat import get_bytes
 from samba.compat import get_string
 from . import common
@@ -748,7 +747,7 @@ class cmd_user_password(Command):
                 self.outf.write("Sorry, passwords do not match.\n")
 
         try:
-            if not isinstance(password, text_type):
+            if not isinstance(password, str):
                 password = password.decode('utf8')
             net.change_password(password)
         except Exception as msg:
@@ -1283,7 +1282,7 @@ class GetPasswordCommand(Command):
 
         def get_utf8(a, b, username):
             try:
-                u = text_type(get_bytes(b), 'utf-16-le')
+                u = str(get_bytes(b), 'utf-16-le')
             except UnicodeDecodeError as e:
                 self.outf.write("WARNING: '%s': CLEARTEXT is invalid UTF-16-LE unable to generate %s\n" % (
                                 username, a))
index 3b99c6c6e028ef48eb19413e908d407c982ae7c2..45e62afbdc662859fe923b4eb48ca6c3e71fc00a 100644 (file)
@@ -38,7 +38,6 @@ import time
 import re
 from samba.kcc import KCC, ldif_import_export
 from samba.kcc.kcc_utils import KCCError
-from samba.compat import text_type
 from samba.uptodateness import (
     get_partition_maps,
     get_partition,
@@ -198,7 +197,7 @@ def colour_hash(x):
     given object."""
     from hashlib import md5
     tmp_str = str(x)
-    if isinstance(tmp_str, text_type):
+    if isinstance(tmp_str, str):
         tmp_str = tmp_str.encode('utf8')
     c = int(md5(tmp_str).hexdigest()[:6], base=16) & 0x7f7f7f
     return '#%06x' % c
index 002e07e645bed2964ea8af80a91d4bc8c8422618..6f5404e7f0ac5242599f0dfa7579bb70ff4a7354 100644 (file)
@@ -32,7 +32,6 @@ from samba import dsdb, dsdb_dns
 from samba.ndr import ndr_unpack, ndr_pack
 from samba.dcerpc import drsblobs, misc
 from samba.common import normalise_int32
-from samba.compat import text_type
 from samba.compat import get_bytes
 from samba.dcerpc import security
 
@@ -772,7 +771,7 @@ member: %s
             if len(res) > 1:
                 raise Exception('Matched %u multiple users with filter "%s"' % (len(res), search_filter))
             user_dn = res[0].dn
-            if not isinstance(password, text_type):
+            if not isinstance(password, str):
                 pw = password.decode('utf-8')
             else:
                 pw = password
index 3ff11497ef6494b671c5677227e46d4bdd27ca92..7f7e68d961c630cba6ef3cf7fd01d37ad9314cf1 100644 (file)
@@ -34,7 +34,6 @@ import re
 from enum import IntEnum, unique
 import samba.auth
 import samba.dcerpc.base
-from samba.compat import text_type
 from random import randint
 from random import SystemRandom
 from contextlib import contextmanager
index 04bca03cc06fa716000ae959f696ad7e2dc51b5e..eabc4239a42b796838891d11634ff7d4389a49a5 100644 (file)
@@ -35,7 +35,6 @@ from samba.auth import system_session
 from samba.tests import delete_force
 from samba.dsdb import UF_WORKSTATION_TRUST_ACCOUNT, UF_PASSWD_NOTREQD
 from samba.dcerpc.misc import SEC_CHAN_WKSTA
-from samba.compat import text_type
 from samba.dcerpc.windows_event_ids import (
     EVT_ID_SUCCESSFUL_LOGON,
     EVT_LOGON_NETWORK
@@ -59,7 +58,7 @@ class AuthLogTestsNetLogon(samba.tests.auth_log_base.AuthLogTestBase):
         self.base_dn = self.ldb.domain_dn()
         self.dn = ("cn=%s,cn=users,%s" % (self.netbios_name, self.base_dn))
 
-        utf16pw = text_type('"' + self.machinepass + '"').encode('utf-16-le')
+        utf16pw = ('"' + self.machinepass + '"').encode('utf-16-le')
         self.ldb.add({
             "dn": self.dn,
             "objectclass": "computer",
index 5999b9842ea1dc40c6193b5d9f32569ddc1c6e43..8e86c646a008909202405df742fadf0e0cea9435 100644 (file)
@@ -35,7 +35,6 @@ from samba.auth import system_session
 from samba.tests import delete_force
 from samba.dsdb import UF_WORKSTATION_TRUST_ACCOUNT, UF_PASSWD_NOTREQD
 from samba.dcerpc.misc import SEC_CHAN_WKSTA
-from samba.compat import text_type
 from samba.dcerpc.windows_event_ids import (
     EVT_ID_SUCCESSFUL_LOGON,
     EVT_LOGON_NETWORK
@@ -81,7 +80,7 @@ class AuthLogTestsSamLogon(samba.tests.auth_log_base.AuthLogTestBase):
         else:
             binding = "[schannel]"
 
-        utf16pw = text_type('"' + self.machinepass + '"').encode('utf-16-le')
+        utf16pw = ('"' + self.machinepass + '"').encode('utf-16-le')
         self.ldb.add({
             "dn": self.samlogon_dn,
             "objectclass": "computer",
index ba7440df13b9d62eccb3a87c2a1114f30600aff4..4a41d2a8f347e92469f96781edd19aba23b4691d 100644 (file)
@@ -27,7 +27,6 @@ from samba import gensec
 from samba.credentials import Credentials
 from samba.tests import TestCase
 from samba.ndr import ndr_pack, ndr_unpack, ndr_unpack_out
-from samba.compat import text_type
 from samba.ntstatus import (
     NT_STATUS_CONNECTION_DISCONNECTED,
     NT_STATUS_PIPE_DISCONNECTED,
index 0b56babdd14fa2af123830fd47b3cb5d38db2c20..d26107393f2b868866ef356c95a5748a3b132015 100644 (file)
@@ -20,7 +20,6 @@
 
 from samba.dcerpc import unixinfo
 from samba.tests import RpcInterfaceTestCase
-from samba.compat import text_type
 
 class UnixinfoTests(RpcInterfaceTestCase):
 
@@ -32,7 +31,7 @@ class UnixinfoTests(RpcInterfaceTestCase):
         infos = self.conn.GetPWUid(range(512))
         self.assertEqual(512, len(infos))
         self.assertEqual("/bin/false", infos[0].shell)
-        self.assertTrue(isinstance(infos[0].homedir, text_type))
+        self.assertTrue(isinstance(infos[0].homedir, str))
 
     def test_gidtosid(self):
         self.conn.GidToSid(1000)
index ec50b2b3f2e31452acbce06201ec0c989939684d..35983cfd5cdde9d70813ca65de1e59e74fd2aadb 100644 (file)
@@ -35,7 +35,6 @@ import samba
 import binascii
 from hashlib import md5
 import crypt
-from samba.compat import text_type
 
 
 USER_NAME = "PasswordHashTestUser"
@@ -66,7 +65,7 @@ def get_package(sc, name):
 def calc_digest(user, realm, password):
 
     data = "%s:%s:%s" % (user, realm, password)
-    if isinstance(data, text_type):
+    if isinstance(data, str):
         data = data.encode('utf8')
 
     return md5(data).hexdigest()
index 4d6904b455be5c3801d1c12e8b9b495cce8b166d..6b6375d0fc1b5c67d52140a7d2a3be476900fb9d 100644 (file)
@@ -46,7 +46,6 @@ from samba.ndr import ndr_unpack
 from samba.dcerpc import drsblobs, drsuapi, misc
 from samba import drs_utils, net
 from samba.credentials import Credentials
-from samba.compat import text_type
 import binascii
 import os
 
@@ -73,7 +72,7 @@ class PassWordHashLDAPTests(PassWordHashTests):
         req8.destination_dsa_guid          = null_guid
         req8.source_dsa_invocation_id      = null_guid
         req8.naming_context                = drsuapi.DsReplicaObjectIdentifier()
-        req8.naming_context.dn             = text_type(dn)
+        req8.naming_context.dn             = dn
 
         req8.highwatermark = drsuapi.DsReplicaHighWaterMark()
         req8.highwatermark.tmp_highest_usn = 0
index cd43a663e541c749063dbb9cf58390a42e2aec07..6311341e2e5a45231fa3acacb4794d01537f68f4 100644 (file)
@@ -33,7 +33,7 @@ from samba.dcerpc import drsblobs
 from hashlib import md5
 import random
 import string
-from samba.compat import text_type
+
 
 USER_NAME = "WdigestTestUser"
 # Create a random 32 character password, containing only letters and
@@ -48,7 +48,7 @@ USER_PASS = ''.join(random.choice(string.ascii_uppercase +
 
 def calc_digest(user, realm, password):
     data = "%s:%s:%s" % (user, realm, password)
-    if isinstance(data, text_type):
+    if isinstance(data, str):
         data = data.encode('utf8')
 
     return "%s:%s:%s" % (user, realm, md5(data).hexdigest())
index 8220cf8b44f51ea9e6be974d4285e6d273321b14..d6ca63aedf6a060f3fb74b0da7331c6278a09482 100755 (executable)
@@ -17,7 +17,7 @@ import samba.getopt as options
 from samba.credentials import Credentials, DONT_USE_KERBEROS
 from samba.auth import system_session
 from samba.compat import get_string
-from samba.compat import text_type
+
 from ldb import SCOPE_BASE, LdbError
 from ldb import ERR_NO_SUCH_OBJECT, ERR_ATTRIBUTE_OR_VALUE_EXISTS
 from ldb import ERR_ENTRY_ALREADY_EXISTS, ERR_UNWILLING_TO_PERFORM
@@ -1746,7 +1746,7 @@ class SamTests(samba.tests.TestCase):
 
         username = "ldaptestuser"
         password = "thatsAcomplPASS2"
-        utf16pw = text_type('"' + password + '"').encode('utf-16-le')
+        utf16pw = ('"' + password + '"').encode('utf-16-le')
 
         ldb.add({
             "dn": "cn=ldaptestuser,cn=users," + self.base_dn,
index a85957f697d9807e2ae52ac1a1c52921bdf04920..7b929eaefb66267293473ab63bf7cbd0401e48af 100644 (file)
@@ -16,7 +16,6 @@ import samba
 from samba.tests.subunitrun import SubunitOptions, TestProgram
 from samba.compat import cmp_fn
 from samba.compat import cmp_to_key_fn
-from samba.compat import text_type
 import samba.getopt as options
 
 from samba.auth import system_session
@@ -57,7 +56,7 @@ creds = credopts.get_credentials(lp)
 
 
 def norm(x):
-    if not isinstance(x, text_type):
+    if not isinstance(x, str):
         x = x.decode('utf8')
     return normalize('NFKC', x).upper()
 
index 1eac41dd77f3ced701b51cc6078824e13eae59d0..50381d8882329331cb9c35c0b456dbd43086311d 100755 (executable)
@@ -50,7 +50,6 @@ from samba.netcmd.dns import cmd_dns
 from samba import gensec
 from samba.kcc import kcc_utils
 from samba.compat import get_string
-from samba.compat import text_type
 import ldb
 
 import dns.resolver
@@ -647,7 +646,7 @@ def rodc_dns_update(d, t, op):
     else:
         name.dns_register = False
     dns_names.names = [ name ]
-    site_name = text_type(sub_vars['SITE'])
+    site_name = sub_vars['SITE']
 
     global error_count
 
index 5cbeb3c3067df0721316eadbca77272cab3be606..496a7a97d4df94042c9b124b2fc8369dc042cdaf 100755 (executable)
@@ -35,7 +35,7 @@ from samba.drs_utils import drs_DsBind
 from samba.samdb import SamDB
 from samba.auth import system_session
 from samba.ndr import ndr_pack, ndr_unpack
-from samba.compat import text_type
+
 
 def _samdb_fetch_pfm(samdb):
     """Fetch prefixMap stored in SamDB using LDB connection"""
@@ -78,7 +78,7 @@ def _drs_fetch_pfm(server, samdb, creds, lp):
     req8.destination_dsa_guid = dest_dsa
     req8.source_dsa_invocation_id = misc.GUID(samdb.get_invocation_id())
     req8.naming_context = drsuapi.DsReplicaObjectIdentifier()
-    req8.naming_context.dn = text_type(samdb.get_schema_basedn())
+    req8.naming_context.dn = samdb.get_schema_basedn()
     req8.highwatermark = drsuapi.DsReplicaHighWaterMark()
     req8.highwatermark.tmp_highest_usn = 0
     req8.highwatermark.reserved_usn = 0
index 3a9d18afd41d3b18fddfff1322ec8964fb01c910..f04ee122f0434fd54cccc1bdc47397bf731335ae 100644 (file)
@@ -26,7 +26,6 @@ import re
 import json
 import ldb
 import random
-from samba.compat import text_type
 from samba.compat import get_string
 
 GUID_RE = r'[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}'
@@ -146,7 +145,7 @@ class SambaToolDrsShowReplTests(drs_base.DrsBaseTestCase):
                 for k in ("last attempt time",
                           "last attempt message",
                           "last success"):
-                    self.assertTrue(isinstance(r[k], text_type))
+                    self.assertTrue(isinstance(r[k], str))
                 self.assertRegexpMatches(r["DSA objectGUID"], '^%s$' % GUID_RE)
                 self.assertTrue(isinstance(r["consecutive failures"], int))