summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2015-08-12 15:23:56 +0200
committerJan Cholasta <jcholast@redhat.com>2015-09-01 11:42:01 +0200
commit5178e9a5975b17683a2529f6cf4c903766d234d9 (patch)
treed51ad5a191cf5129024d182b9e5a1d2518151284
parent9e917cae39e266fb3092e5ab212a99968de996c2 (diff)
downloadfreeipa-5178e9a5975b17683a2529f6cf4c903766d234d9.tar.gz
freeipa-5178e9a5975b17683a2529f6cf4c903766d234d9.tar.xz
freeipa-5178e9a5975b17683a2529f6cf4c903766d234d9.zip
Modernize use of range()
In Python 3, range() behaves like the old xrange(). The difference between range() and xrange() is usually not significant, especially if the whole result is iterated over. Convert xrange() usage to range() for small ranges. Use modern idioms in a few other uses of range(). Reviewed-By: Christian Heimes <cheimes@redhat.com> Reviewed-By: Jan Cholasta <jcholast@redhat.com>
-rw-r--r--ipalib/base.py2
-rw-r--r--ipalib/parameters.py6
-rw-r--r--ipalib/plugins/aci.py6
-rw-r--r--ipalib/plugins/baseuser.py14
-rw-r--r--ipalib/plugins/dns.py4
-rw-r--r--ipalib/plugins/host.py8
-rw-r--r--ipapython/p11helper.py2
-rw-r--r--ipaserver/install/cainstance.py4
-rw-r--r--ipaserver/install/dnskeysyncinstance.py2
-rw-r--r--ipaserver/install/ipa_otptoken_import.py5
-rw-r--r--ipaserver/install/plugins/rename_managed.py4
-rw-r--r--ipatests/data.py2
-rw-r--r--ipatests/test_ipalib/test_base.py6
-rw-r--r--ipatests/test_ipalib/test_cli.py2
-rw-r--r--ipatests/test_ipalib/test_config.py4
-rw-r--r--ipatests/test_ipalib/test_errors.py2
-rw-r--r--ipatests/test_ipalib/test_frontend.py4
-rw-r--r--ipatests/test_ipalib/test_messages.py2
-rw-r--r--ipatests/test_ipalib/test_plugable.py4
-rw-r--r--ipatests/test_ipapython/test_keyring.py2
-rw-r--r--ipatests/test_xmlrpc/test_add_remove_cert_cmd.py4
-rw-r--r--ipatests/test_xmlrpc/test_vault_plugin.py2
22 files changed, 45 insertions, 46 deletions
diff --git a/ipalib/base.py b/ipalib/base.py
index 33b33eeb2..14edc2c5d 100644
--- a/ipalib/base.py
+++ b/ipalib/base.py
@@ -294,7 +294,7 @@ class NameSpace(ReadOnly):
... def __repr__(self):
... return 'Member(%d)' % self.i
...
- >>> ns = NameSpace(Member(i) for i in xrange(3))
+ >>> ns = NameSpace(Member(i) for i in range(3))
>>> ns
NameSpace(<3 members>, sort=True)
diff --git a/ipalib/parameters.py b/ipalib/parameters.py
index b81e515c3..5b21cfb23 100644
--- a/ipalib/parameters.py
+++ b/ipalib/parameters.py
@@ -1475,12 +1475,12 @@ class IA5Str(Str):
def _convert_scalar(self, value, index=None):
if isinstance(value, six.string_types):
- for i in xrange(len(value)):
- if ord(value[i]) > 127:
+ for char in value:
+ if ord(char) > 127:
raise ConversionError(name=self.get_param_name(),
index=index,
error=_('The character %(char)r is not allowed.') %
- dict(char=value[i],)
+ dict(char=char,)
)
return super(IA5Str, self)._convert_scalar(value, index)
diff --git a/ipalib/plugins/aci.py b/ipalib/plugins/aci.py
index cdc8f7092..5aa486db8 100644
--- a/ipalib/plugins/aci.py
+++ b/ipalib/plugins/aci.py
@@ -322,10 +322,8 @@ def _aci_to_kw(ldap, a, test=False, pkey_only=False):
return kw
kw['permissions'] = tuple(a.permissions)
if 'targetattr' in a.target:
- kw['attrs'] = list(a.target['targetattr']['expression'])
- for i in xrange(len(kw['attrs'])):
- kw['attrs'][i] = unicode(kw['attrs'][i])
- kw['attrs'] = tuple(kw['attrs'])
+ kw['attrs'] = tuple(unicode(e)
+ for e in a.target['targetattr']['expression'])
if 'targetfilter' in a.target:
target = a.target['targetfilter']['expression']
if target.startswith('(memberOf=') or target.startswith('memberOf='):
diff --git a/ipalib/plugins/baseuser.py b/ipalib/plugins/baseuser.py
index c3e290371..ed7c1a9d3 100644
--- a/ipalib/plugins/baseuser.py
+++ b/ipalib/plugins/baseuser.py
@@ -427,16 +427,16 @@ class baseuser(LDAPObject):
manager = [manager]
try:
container_dn = DN(container, api.env.basedn)
- for m in xrange(len(manager)):
- if isinstance(manager[m], DN) and manager[m].endswith(container_dn):
+ for i, mgr in enumerate(manager):
+ if isinstance(mgr, DN) and mgr.endswith(container_dn):
continue
entry_attrs = self.backend.find_entry_by_attr(
- self.primary_key.name, manager[m], self.object_class, [''],
+ self.primary_key.name, mgr, self.object_class, [''],
container_dn
)
- manager[m] = entry_attrs.dn
+ manager[i] = entry_attrs.dn
except errors.NotFound:
- raise errors.NotFound(reason=_('manager %(manager)s not found') % dict(manager=manager[m]))
+ raise errors.NotFound(reason=_('manager %(manager)s not found') % dict(manager=mgr))
return manager
@@ -448,8 +448,8 @@ class baseuser(LDAPObject):
return
if 'manager' in entry_attrs:
- for m in xrange(len(entry_attrs['manager'])):
- entry_attrs['manager'][m] = self.get_primary_key_from_dn(entry_attrs['manager'][m])
+ for i, mgr in enumerate(entry_attrs['manager']):
+ entry_attrs['manager'][i] = self.get_primary_key_from_dn(mgr)
def _user_status(self, user, container):
assert isinstance(user, DN)
diff --git a/ipalib/plugins/dns.py b/ipalib/plugins/dns.py
index 335b58afb..81c7e0653 100644
--- a/ipalib/plugins/dns.py
+++ b/ipalib/plugins/dns.py
@@ -1751,7 +1751,7 @@ def _get_auth_zone_ldap(name):
# Create all possible parent zone names
search_name = name.make_absolute()
zone_names = []
- for i in xrange(len(search_name)):
+ for i, name in enumerate(search_name):
zone_name_abs = DNSName(search_name[i:]).ToASCII()
zone_names.append(zone_name_abs)
# compatibility with IPA < 4.0, zone name can be relative
@@ -1826,7 +1826,7 @@ def _get_longest_match_ns_delegation_ldap(zone, name):
# create list of possible record names
possible_record_names = [DNSName(relative_record_name[i:]).ToASCII()
- for i in xrange(len(relative_record_name))]
+ for i in range(len(relative_record_name))]
# search filters
name_filter = ldap.make_filter({'idnsname': [possible_record_names]})
diff --git a/ipalib/plugins/host.py b/ipalib/plugins/host.py
index 6380962e7..532ff6660 100644
--- a/ipalib/plugins/host.py
+++ b/ipalib/plugins/host.py
@@ -774,10 +774,10 @@ class host_del(LDAPDelete):
for t in _record_types]
for attr in _attribute_types:
if attr not in ['arecord', 'aaaarecord'] and attr in record:
- for i in xrange(len(record[attr])):
- if (record[attr][i].endswith(parts[0]) or
- record[attr][i].endswith(fqdn+'.')):
- delkw = { unicode(attr) : record[attr][i] }
+ for val in record[attr]:
+ if (val.endswith(parts[0]) or
+ val.endswith(fqdn + '.')):
+ delkw = {unicode(attr): val}
api.Command['dnsrecord_del'](domain,
record['idnsname'][0],
**delkw)
diff --git a/ipapython/p11helper.py b/ipapython/p11helper.py
index 82e7bff19..10a60cc02 100644
--- a/ipapython/p11helper.py
+++ b/ipapython/p11helper.py
@@ -13,7 +13,7 @@ def generate_master_key(p11, keylabel=u"dnssec-master", key_length=16,
while True:
# check if key with this ID exist in LDAP or softHSM
# id is 16 Bytes long
- key_id = "".join(chr(random.randint(0, 255)) for _ in xrange(0, 16))
+ key_id = "".join(chr(random.randint(0, 255)) for _ in range(0, 16))
keys = p11.find_keys(_ipap11helper.KEY_CLASS_SECRET_KEY,
label=keylabel,
id=key_id)
diff --git a/ipaserver/install/cainstance.py b/ipaserver/install/cainstance.py
index da1c72acb..6f565dd14 100644
--- a/ipaserver/install/cainstance.py
+++ b/ipaserver/install/cainstance.py
@@ -806,8 +806,8 @@ class CAInstance(DogtagInstance):
chain = chain.split("\n")
root_nickname=[]
- for i in xrange(len(chain)):
- m = re.match('\ *"(.*)" \[.*', chain[i])
+ for part in chain:
+ m = re.match('\ *"(.*)" \[.*', part)
if m:
nick = m.groups(0)[0]
if nick != "ipa-ca-agent" and nick[:7] != "Builtin":
diff --git a/ipaserver/install/dnskeysyncinstance.py b/ipaserver/install/dnskeysyncinstance.py
index 482250fee..68130c925 100644
--- a/ipaserver/install/dnskeysyncinstance.py
+++ b/ipaserver/install/dnskeysyncinstance.py
@@ -310,7 +310,7 @@ class DNSKeySyncInstance(service.Service):
# check if key with this ID exist in softHSM
# id is 16 Bytes long
key_id = "".join(chr(random.randint(0, 255))
- for _ in xrange(0, 16))
+ for _ in range(0, 16))
replica_pubkey_dn = DN(('ipk11UniqueId', 'autogenerate'), dn_base)
diff --git a/ipaserver/install/ipa_otptoken_import.py b/ipaserver/install/ipa_otptoken_import.py
index 4d901d08e..98de4799d 100644
--- a/ipaserver/install/ipa_otptoken_import.py
+++ b/ipaserver/install/ipa_otptoken_import.py
@@ -31,6 +31,7 @@ import dateutil.parser
import dateutil.tz
import nss.nss as nss
import gssapi
+from six.moves import xrange
from ipapython import admintool
from ipalib import api, errors
@@ -190,7 +191,7 @@ class PBKDF2KeyDerivation(XMLKeyDerivation):
# Loop through each block adding it to the derived key.
dk = []
- for i in xrange(1, blocks + 1):
+ for i in range(1, blocks + 1):
# Set initial values.
last = self.salt + struct.pack('>I', i)
hash = [0] * mac.digest_size
@@ -202,7 +203,7 @@ class PBKDF2KeyDerivation(XMLKeyDerivation):
last = tmp.digest()
# XOR the previous hash with the new hash.
- for k in xrange(mac.digest_size):
+ for k in range(mac.digest_size):
hash[k] ^= ord(last[k])
# Add block to derived key.
diff --git a/ipaserver/install/plugins/rename_managed.py b/ipaserver/install/plugins/rename_managed.py
index 9cff18b76..4b42d48dc 100644
--- a/ipaserver/install/plugins/rename_managed.py
+++ b/ipaserver/install/plugins/rename_managed.py
@@ -33,8 +33,8 @@ def entry_to_update(entry):
update = []
for attr in entry.keys():
if isinstance(entry[attr], list):
- for i in xrange(len(entry[attr])):
- update.append(dict(attr=str(attr), value=str(entry[attr][i])))
+ for item in entry[attr]:
+ update.append(dict(attr=str(attr), value=str(item)))
else:
update.append(dict(attr=str(attr), value=str(entry[attr])))
diff --git a/ipatests/data.py b/ipatests/data.py
index 9332a53a5..5abfffcfd 100644
--- a/ipatests/data.py
+++ b/ipatests/data.py
@@ -25,7 +25,7 @@ import struct
# A string that should have bytes 'x\00' through '\xff':
-binary_bytes = ''.join(struct.pack('B', d) for d in xrange(256))
+binary_bytes = ''.join(struct.pack('B', d) for d in range(256))
assert '\x00' in binary_bytes and '\xff' in binary_bytes
assert type(binary_bytes) is str and len(binary_bytes) == 256
diff --git a/ipatests/test_ipalib/test_base.py b/ipatests/test_ipalib/test_base.py
index 0117946bc..265e11858 100644
--- a/ipatests/test_ipalib/test_base.py
+++ b/ipatests/test_ipalib/test_base.py
@@ -209,7 +209,7 @@ class test_NameSpace(ClassChecker):
_cls = base.NameSpace
def new(self, count, sort=True):
- members = tuple(DummyMember(i) for i in xrange(count, 0, -1))
+ members = tuple(DummyMember(i) for i in range(count, 0, -1))
assert len(members) == count
o = self.cls(members, sort=sort)
return (o, members)
@@ -305,12 +305,12 @@ class test_NameSpace(ClassChecker):
e = raises(KeyError, o.__getitem__, 'nope')
# Test int indexes:
- for i in xrange(cnt):
+ for i in range(cnt):
assert o[i] is members[i]
e = raises(IndexError, o.__getitem__, cnt)
# Test negative int indexes:
- for i in xrange(1, cnt + 1):
+ for i in range(1, cnt + 1):
assert o[-i] is members[-i]
e = raises(IndexError, o.__getitem__, -(cnt + 1))
diff --git a/ipatests/test_ipalib/test_cli.py b/ipatests/test_ipalib/test_cli.py
index 4c9ae61c4..0c3affcd3 100644
--- a/ipatests/test_ipalib/test_cli.py
+++ b/ipatests/test_ipalib/test_cli.py
@@ -91,7 +91,7 @@ class DummyAPI(object):
Command = property(__get_cmd)
def __cmd_iter(self, cnt):
- for i in xrange(cnt):
+ for i in range(cnt):
yield DummyCommand(get_cmd_name(i))
def finalize(self):
diff --git a/ipatests/test_ipalib/test_config.py b/ipatests/test_ipalib/test_config.py
index f414d55e4..b8cba516d 100644
--- a/ipatests/test_ipalib/test_config.py
+++ b/ipatests/test_ipalib/test_config.py
@@ -298,7 +298,7 @@ class test_Env(ClassChecker):
"""
o = self.cls()
assert len(o) == 0
- for i in xrange(1, 11):
+ for i in range(1, 11):
key = 'key%d' % i
value = u'value %d' % i
o[key] = value
@@ -390,7 +390,7 @@ class test_Env(ClassChecker):
for (k, v) in orig.items():
assert o[k] is v
assert list(o) == sorted(keys + ('key0', 'key1', 'key2', 'key3', 'config_loaded'))
- for i in xrange(4):
+ for i in range(4):
assert o['key%d' % i] == ('var%d' % i)
keys = tuple(o)
diff --git a/ipatests/test_ipalib/test_errors.py b/ipatests/test_ipalib/test_errors.py
index dfe60f283..831800606 100644
--- a/ipatests/test_ipalib/test_errors.py
+++ b/ipatests/test_ipalib/test_errors.py
@@ -369,7 +369,7 @@ class BaseMessagesTest(object):
class test_PublicErrors(object):
message_list = errors.public_errors
- errno_range = xrange(900, 5999)
+ errno_range = list(range(900, 5999))
required_classes = (StandardError, errors.PublicError)
texts = errors._texts
diff --git a/ipatests/test_ipalib/test_frontend.py b/ipatests/test_ipalib/test_frontend.py
index 3798c4ed8..c74646dc1 100644
--- a/ipatests/test_ipalib/test_frontend.py
+++ b/ipatests/test_ipalib/test_frontend.py
@@ -940,7 +940,7 @@ class test_Object(ClassChecker):
def get_attributes(cnt, format):
for name in ['other', 'user', 'another']:
- for i in xrange(cnt):
+ for i in range(cnt):
yield DummyAttribute(name, format % i)
cnt = 10
@@ -970,7 +970,7 @@ class test_Object(ClassChecker):
assert isinstance(namespace, plugable.NameSpace)
assert len(namespace) == cnt
f = methods_format
- for i in xrange(cnt):
+ for i in range(cnt):
attr_name = f % i
attr = namespace[attr_name]
assert isinstance(attr, DummyAttribute)
diff --git a/ipatests/test_ipalib/test_messages.py b/ipatests/test_ipalib/test_messages.py
index 686bf8dd5..966a6c133 100644
--- a/ipatests/test_ipalib/test_messages.py
+++ b/ipatests/test_ipalib/test_messages.py
@@ -41,7 +41,7 @@ class test_PublicMessage(test_errors.test_PublicError):
class test_PublicMessages(test_errors.BaseMessagesTest):
message_list = messages.public_messages
- errno_range = xrange(10000, 19999)
+ errno_range = list(range(10000, 19999))
required_classes = (UserWarning, messages.PublicMessage)
texts = messages._texts
diff --git a/ipatests/test_ipalib/test_plugable.py b/ipatests/test_ipalib/test_plugable.py
index c0b88d1f9..148139464 100644
--- a/ipatests/test_ipalib/test_plugable.py
+++ b/ipatests/test_ipalib/test_plugable.py
@@ -239,14 +239,14 @@ class test_API(ClassChecker):
def get_plugin_name(b, p):
return 'base%d_plugin%d' % (b, p)
- for b in xrange(2):
+ for b in range(2):
base_name = get_base_name(b)
base = locals()[base_name]
ns = getattr(api, base_name)
assert isinstance(ns, plugable.NameSpace)
assert read_only(api, base_name) is ns
assert len(ns) == 3
- for p in xrange(3):
+ for p in range(3):
plugin_name = get_plugin_name(b, p)
plugin = locals()[plugin_name]
inst = ns[plugin_name]
diff --git a/ipatests/test_ipapython/test_keyring.py b/ipatests/test_ipapython/test_keyring.py
index bd876ea77..9a5fc98ea 100644
--- a/ipatests/test_ipapython/test_keyring.py
+++ b/ipatests/test_ipapython/test_keyring.py
@@ -89,7 +89,7 @@ class test_keyring(object):
assert(result == UPDATE_VALUE)
# Now update it 10 times
- for i in xrange(10):
+ for i in range(10):
kernel_keyring.update_key(TEST_KEY, 'test %d' % i)
result = kernel_keyring.read_key(TEST_KEY)
assert(result == 'test %d' % i)
diff --git a/ipatests/test_xmlrpc/test_add_remove_cert_cmd.py b/ipatests/test_xmlrpc/test_add_remove_cert_cmd.py
index e42c1929f..c0669c093 100644
--- a/ipatests/test_xmlrpc/test_add_remove_cert_cmd.py
+++ b/ipatests/test_xmlrpc/test_add_remove_cert_cmd.py
@@ -88,13 +88,13 @@ class CertManipCmdTestBase(XMLRPC_test):
# list of certificates to add to entry
cls.certs = [
get_testcert(DN(('CN', cls.entity_subject)), cls.entity_principal)
- for i in xrange(3)
+ for i in range(3)
]
# list of certificates for testing of removal of non-existent certs
cls.nonexistent_certs = [
get_testcert(DN(('CN', cls.entity_subject)), cls.entity_principal)
- for j in xrange(2)
+ for j in range(2)
]
# cert subset to remove from entry
diff --git a/ipatests/test_xmlrpc/test_vault_plugin.py b/ipatests/test_xmlrpc/test_vault_plugin.py
index f3b0e0135..758d864ce 100644
--- a/ipatests/test_xmlrpc/test_vault_plugin.py
+++ b/ipatests/test_xmlrpc/test_vault_plugin.py
@@ -34,7 +34,7 @@ symmetric_vault_name = u'symmetric_test_vault'
asymmetric_vault_name = u'asymmetric_test_vault'
# binary data from \x00 to \xff
-secret = ''.join(chr(c) for c in xrange(0, 256))
+secret = ''.join(chr(c) for c in range(0, 256))
password = u'password'
other_password = u'other_password'