summaryrefslogtreecommitdiffstats
path: root/ipapython
diff options
context:
space:
mode:
Diffstat (limited to 'ipapython')
-rw-r--r--ipapython/config.py2
-rw-r--r--ipapython/dnssec/abshsm.py18
-rw-r--r--ipapython/dnssec/ldapkeydb.py6
-rwxr-xr-xipapython/dnssec/localhsm.py20
-rw-r--r--ipapython/dogtag.py2
-rw-r--r--ipapython/graph.py2
-rw-r--r--ipapython/install/cli.py2
-rw-r--r--ipapython/install/core.py2
-rw-r--r--ipapython/install/util.py4
-rw-r--r--ipapython/ipaldap.py16
-rw-r--r--ipapython/ipautil.py29
11 files changed, 54 insertions, 49 deletions
diff --git a/ipapython/config.py b/ipapython/config.py
index d586d66d6..76168f29e 100644
--- a/ipapython/config.py
+++ b/ipapython/config.py
@@ -105,7 +105,7 @@ class IPAOptionParser(OptionParser):
all_opts_dict = dict([ (o.dest, o) for o in self._get_all_options() if hasattr(o, 'sensitive') ])
safe_opts_dict = {}
- for option, value in opts.__dict__.iteritems():
+ for option, value in opts.__dict__.items():
if all_opts_dict[option].sensitive != True:
safe_opts_dict[option] = value
diff --git a/ipapython/dnssec/abshsm.py b/ipapython/dnssec/abshsm.py
index 80292e5a7..156bcf32c 100644
--- a/ipapython/dnssec/abshsm.py
+++ b/ipapython/dnssec/abshsm.py
@@ -41,7 +41,7 @@ attrs_id2name = {
_ipap11helper.CKA_WRAP_WITH_TRUSTED: 'ipk11wrapwithtrusted',
}
-attrs_name2id = dict(zip(attrs_id2name.values(), attrs_id2name.keys()))
+attrs_name2id = {v: k for k, v in attrs_id2name.items()}
# attribute:
# http://www.freeipa.org/page/V4/PKCS11_in_LDAP/Schema#ipk11KeyType
@@ -53,7 +53,7 @@ keytype_name2id = {
"aes": _ipap11helper.KEY_TYPE_AES,
}
-keytype_id2name = dict(zip(keytype_name2id.values(), keytype_name2id.keys()))
+keytype_id2name = {v: k for k, v in keytype_name2id.items()}
wrappingmech_name2id = {
"rsaPkcs": _ipap11helper.MECH_RSA_PKCS,
@@ -62,8 +62,7 @@ wrappingmech_name2id = {
"aesKeyWrapPad": _ipap11helper.MECH_AES_KEY_WRAP_PAD
}
-wrappingmech_id2name = dict(zip(wrappingmech_name2id.values(),
- wrappingmech_name2id.keys()))
+wrappingmech_id2name = {v: k for k, v in wrappingmech_name2id.items()}
bool_attr_names = set([
@@ -105,8 +104,7 @@ modifiable_attrs_id2name = {
_ipap11helper.CKA_WRAP: 'ipk11wrap',
}
-modifiable_attrs_name2id = dict(zip(modifiable_attrs_id2name.values(),
- modifiable_attrs_id2name.keys()))
+modifiable_attrs_name2id = {v: k for k, v in modifiable_attrs_id2name.items()}
def sync_pkcs11_metadata(log, source, target):
"""sync ipk11 metadata from source object to target object"""
@@ -148,7 +146,7 @@ def ldap2p11helper_api_params(ldap_key):
"ipk11wrapwithtrusted": "cka_wrap_with_trusted"
}
- for ldap_name, p11h_name in direct_param_map.iteritems():
+ for ldap_name, p11h_name in direct_param_map.items():
if ldap_name in ldap_key:
unwrap_params[p11h_name] = ldap_key[ldap_name]
@@ -159,7 +157,7 @@ def ldap2p11helper_api_params(ldap_key):
"ipawrappingmech": ("wrapping_mech", wrappingmech_name2id),
}
- for ldap_name, rules in indirect_param_map.iteritems():
+ for ldap_name, rules in indirect_param_map.items():
p11h_name, mapping = rules
if ldap_name in ldap_key:
unwrap_params[p11h_name] = mapping[ldap_key[ldap_name]]
@@ -170,7 +168,7 @@ def ldap2p11helper_api_params(ldap_key):
class AbstractHSM(object):
def _filter_replica_keys(self, all_keys):
replica_keys = {}
- for key_id, key in all_keys.iteritems():
+ for key_id, key in all_keys.items():
if not key['ipk11label'].startswith('dnssec-replica:'):
continue
replica_keys[key_id] = key
@@ -178,7 +176,7 @@ class AbstractHSM(object):
def _filter_zone_keys(self, all_keys):
zone_keys = {}
- for key_id, key in all_keys.iteritems():
+ for key_id, key in all_keys.items():
if key['ipk11label'] == u'dnssec-master' \
or key['ipk11label'].startswith('dnssec-replica:'):
continue
diff --git a/ipapython/dnssec/ldapkeydb.py b/ipapython/dnssec/ldapkeydb.py
index 86a7d0ac1..806999375 100644
--- a/ipapython/dnssec/ldapkeydb.py
+++ b/ipapython/dnssec/ldapkeydb.py
@@ -128,7 +128,7 @@ class Key(collections.MutableMapping):
def __iter__(self):
"""generates list of ipa names of all PKCS#11 attributes present in the object"""
- for ipa_name in self.entry.keys():
+ for ipa_name in list(self.entry.keys()):
lowercase = ipa_name.lower()
if lowercase in attrs_name2id:
yield lowercase
@@ -247,7 +247,7 @@ class LdapKeyDB(AbstractHSM):
for cache in [self.cache_masterkeys, self.cache_replica_pubkeys_wrap,
self.cache_zone_keypairs]:
if cache:
- for key in cache.itervalues():
+ for key in cache.values():
self._update_key(key)
def flush(self):
@@ -326,7 +326,7 @@ class LdapKeyDB(AbstractHSM):
keys = self._get_key_dict(MasterKey,
'(&(objectClass=ipk11SecretKey)(|(ipk11UnWrap=TRUE)(!(ipk11UnWrap=*)))(ipk11Label=dnssec-master))')
- for key in keys.itervalues():
+ for key in keys.values():
prefix = 'dnssec-master'
assert key['ipk11label'] == prefix, \
'secret key dn="%s" ipk11id=0x%s ipk11label="%s" with ipk11UnWrap = TRUE does not have '\
diff --git a/ipapython/dnssec/localhsm.py b/ipapython/dnssec/localhsm.py
index 412b55df9..d3b4ae15c 100755
--- a/ipapython/dnssec/localhsm.py
+++ b/ipapython/dnssec/localhsm.py
@@ -69,7 +69,7 @@ class Key(collections.MutableMapping):
def __iter__(self):
"""generates list of ipa names of all attributes present in the object"""
- for pkcs11_id, ipa_name in attrs_id2name.iteritems():
+ for pkcs11_id, ipa_name in attrs_id2name.items():
try:
self.p11.get_attribute(self.handle, pkcs11_id)
except _ipap11helper.NotFound:
@@ -84,11 +84,7 @@ class Key(collections.MutableMapping):
return cnt
def __str__(self):
- d = {}
- for ipa_name, value in self.iteritems():
- d[ipa_name] = value
-
- return str(d)
+ return str(dict(self))
def __repr__(self):
return self.__str__()
@@ -139,7 +135,7 @@ class LocalHSM(AbstractHSM):
"""Get all usable DNSSEC master keys"""
keys = self.find_keys(objclass=_ipap11helper.KEY_CLASS_SECRET_KEY, label=u'dnssec-master', cka_unwrap=True)
- for key in keys.itervalues():
+ for key in keys.values():
prefix = 'dnssec-master'
assert key['ipk11label'] == prefix, \
'secret key ipk11id=0x%s ipk11label="%s" with ipk11UnWrap = TRUE does not have '\
@@ -198,34 +194,34 @@ if __name__ == '__main__':
print 'replica public keys: CKA_WRAP = TRUE'
print '===================================='
- for pubkey_id, pubkey in localhsm.replica_pubkeys_wrap.iteritems():
+ for pubkey_id, pubkey in localhsm.replica_pubkeys_wrap.items():
print hexlify(pubkey_id)
pprint(pubkey)
print ''
print 'replica public keys: all'
print '========================'
- for pubkey_id, pubkey in localhsm.replica_pubkeys.iteritems():
+ for pubkey_id, pubkey in localhsm.replica_pubkeys.items():
print hexlify(pubkey_id)
pprint(pubkey)
print ''
print 'master keys'
print '==========='
- for mkey_id, mkey in localhsm.master_keys.iteritems():
+ for mkey_id, mkey in localhsm.master_keys.items():
print hexlify(mkey_id)
pprint(mkey)
print ''
print 'zone public keys'
print '================'
- for key_id, key in localhsm.zone_pubkeys.iteritems():
+ for key_id, key in localhsm.zone_pubkeys.items():
print hexlify(key_id)
pprint(key)
print ''
print 'zone private keys'
print '================='
- for key_id, key in localhsm.zone_privkeys.iteritems():
+ for key_id, key in localhsm.zone_privkeys.items():
print hexlify(key_id)
pprint(key)
diff --git a/ipapython/dogtag.py b/ipapython/dogtag.py
index fc4154719..fe951cf5b 100644
--- a/ipapython/dogtag.py
+++ b/ipapython/dogtag.py
@@ -320,7 +320,7 @@ def _httplib_request(
headers = headers or {}
if (
method == 'POST'
- and 'content-type' not in (str(k).lower() for k in headers.viewkeys())
+ and 'content-type' not in (str(k).lower() for k in headers)
):
headers['content-type'] = 'application/x-www-form-urlencoded'
diff --git a/ipapython/graph.py b/ipapython/graph.py
index e27249466..b4373abea 100644
--- a/ipapython/graph.py
+++ b/ipapython/graph.py
@@ -44,7 +44,7 @@ class Graph():
# delete _adjacencies
del self._adj[vertex]
- for key, _adj in self._adj.iteritems():
+ for key, _adj in self._adj.items():
_adj[:] = [v for v in _adj if v != vertex]
# delete edges
diff --git a/ipapython/install/cli.py b/ipapython/install/cli.py
index 1ba9a815c..54ca58d26 100644
--- a/ipapython/install/cli.py
+++ b/ipapython/install/cli.py
@@ -145,7 +145,7 @@ class ConfigureTool(admintool.AdminTool):
help="unattended (un)installation never prompts the user",
)
- for group, opt_group in groups.iteritems():
+ for group, opt_group in groups.items():
parser.add_option_group(opt_group)
super(ConfigureTool, cls).add_options(parser,
diff --git a/ipapython/install/core.py b/ipapython/install/core.py
index c313c278e..dac8883fe 100644
--- a/ipapython/install/core.py
+++ b/ipapython/install/core.py
@@ -229,7 +229,7 @@ class Configurable(object):
setattr(self, name, value)
if kwargs:
- extra = sorted(kwargs.keys())
+ extra = sorted(kwargs)
raise TypeError(
"{0}() got {1} unexpected keyword arguments: {2}".format(
type(self).__name__,
diff --git a/ipapython/install/util.py b/ipapython/install/util.py
index 58da7bb77..12530d45a 100644
--- a/ipapython/install/util.py
+++ b/ipapython/install/util.py
@@ -8,6 +8,8 @@ Utilities.
import sys
+import six
+
def raise_exc_info(exc_info):
"""
@@ -155,7 +157,7 @@ class InnerClassMeta(type):
except KeyError:
cls, name, value = None, None, None
for cls in obj_type.__mro__:
- for name, value in cls.__dict__.iteritems():
+ for name, value in six.iteritems(cls.__dict__):
if value is self:
break
if value is self:
diff --git a/ipapython/ipaldap.py b/ipapython/ipaldap.py
index 124ab3c20..66622ef61 100644
--- a/ipapython/ipaldap.py
+++ b/ipapython/ipaldap.py
@@ -279,7 +279,7 @@ class LDAPEntry(collections.MutableMapping):
def __repr__(self):
data = dict(self._raw)
- data.update((k, v) for k, v in self._nice.iteritems() if v is not None)
+ data.update((k, v) for k, v in self._nice.items() if v is not None)
return '%s(%r, %r)' % (type(self).__name__, self._dn, data)
def copy(self):
@@ -495,7 +495,7 @@ class LDAPEntry(collections.MutableMapping):
def generate_modlist(self):
modlist = []
- names = set(self.iterkeys())
+ names = set(self)
names.update(self._orig)
for name in names:
new = self.raw.get(name, [])
@@ -548,7 +548,7 @@ class LDAPEntryView(collections.MutableMapping):
self._entry.clear()
def __iter__(self):
- return self._entry.iterkeys()
+ return iter(self._entry)
def __len__(self):
return len(self._entry)
@@ -842,7 +842,7 @@ class LDAPClient(object):
elif isinstance(val, tuple):
return tuple(self.encode(m) for m in val)
elif isinstance(val, dict):
- dct = dict((self.encode(k), self.encode(v)) for k, v in val.iteritems())
+ dct = dict((self.encode(k), self.encode(v)) for k, v in val.items())
return dct
elif isinstance(val, datetime.datetime):
return val.strftime(LDAP_GENERALIZED_TIME_FORMAT)
@@ -875,7 +875,7 @@ class LDAPClient(object):
elif isinstance(val, tuple):
return tuple(self.decode(m, attr) for m in val)
elif isinstance(val, dict):
- dct = dict((unicode_from_utf8(k), self.decode(v, k)) for k, v in val.iteritems())
+ dct = dict((unicode_from_utf8(k), self.decode(v, k)) for k, v in val.items())
return dct
elif val is None:
return None
@@ -1234,7 +1234,7 @@ class LDAPClient(object):
make_filter_rules = rules
flts = []
if attrs_list is None:
- for (k, v) in entry_attrs.iteritems():
+ for (k, v) in entry_attrs.items():
flts.append(
self.make_filter_from_attr(
k, v, make_filter_rules, exact,
@@ -1436,11 +1436,11 @@ class LDAPClient(object):
This should be called as add_entry(entry).
"""
# remove all [] values (python-ldap hates 'em)
- attrs = dict((k, v) for k, v in entry.raw.iteritems() if v)
+ attrs = dict((k, v) for k, v in entry.raw.items() if v)
with self.error_handler():
attrs = self.encode(attrs)
- self.conn.add_s(str(entry.dn), attrs.items())
+ self.conn.add_s(str(entry.dn), list(attrs.items()))
entry.reset_modlist()
diff --git a/ipapython/ipautil.py b/ipapython/ipautil.py
index 80ce83506..b6cbe50e9 100644
--- a/ipapython/ipautil.py
+++ b/ipapython/ipautil.py
@@ -545,13 +545,13 @@ class CIDict(dict):
for key in keys():
self.__setitem__(key, new[key], seen)
seen = set()
- for key, value in kwargs.iteritems():
+ for key, value in kwargs.items():
self.__setitem__(key, value, seen)
def __contains__(self, key):
return super(CIDict, self).__contains__(key.lower())
- if sys.version_info < (3, 0):
+ if six.PY2:
def has_key(self, key):
return super(CIDict, self).has_key(key.lower())
@@ -562,29 +562,38 @@ class CIDict(dict):
return failobj
def __iter__(self):
- return self._keys.itervalues()
+ return six.itervalues(self._keys)
def keys(self):
- return list(self.iterkeys())
+ if six.PY2:
+ return list(self.iterkeys())
+ else:
+ return self.iterkeys()
def items(self):
- return list(self.iteritems())
+ if six.PY2:
+ return list(self.iteritems())
+ else:
+ return self.iteritems()
def values(self):
- return list(self.itervalues())
+ if six.PY2:
+ return list(self.itervalues())
+ else:
+ return self.itervalues()
def copy(self):
"""Returns a shallow copy of this CIDict"""
- return CIDict(self.items())
+ return CIDict(list(self.items()))
def iteritems(self):
- return ((k, self[k]) for k in self._keys.itervalues())
+ return ((k, self[k]) for k in six.itervalues(self._keys))
def iterkeys(self):
- return self._keys.itervalues()
+ return six.itervalues(self._keys)
def itervalues(self):
- return (v for k, v in self.iteritems())
+ return (v for k, v in six.iteritems(self))
def setdefault(self, key, value=None):
try: