summaryrefslogtreecommitdiffstats
path: root/ipapython/dnssec
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2015-08-11 13:51:14 +0200
committerJan Cholasta <jcholast@redhat.com>2015-09-01 11:42:01 +0200
commit3bf91eab25c602a6fad2665456f57e8629c5a6f4 (patch)
tree52f713e898a385d57a914d539a7da9a20fc20166 /ipapython/dnssec
parentdd16cc98b0d67f1448bf9de25f8adce512b1431c (diff)
downloadfreeipa-3bf91eab25c602a6fad2665456f57e8629c5a6f4.tar.gz
freeipa-3bf91eab25c602a6fad2665456f57e8629c5a6f4.tar.xz
freeipa-3bf91eab25c602a6fad2665456f57e8629c5a6f4.zip
Use Python3-compatible dict method names
Python 2 has keys()/values()/items(), which return lists, iterkeys()/itervalues()/iteritems(), which return iterators, and viewkeys()/viewvalues()/viewitems() which return views. Python 3 has only keys()/values()/items(), which return views. To get iterators, one can use iter() or a for loop/comprehension; for lists there's the list() constructor. When iterating through the entire dict, without modifying the dict, the difference between Python 2's items() and iteritems() is negligible, especially on small dicts (the main overhead is extra memory, not CPU time). In the interest of simpler code, this patch changes many instances of iteritems() to items(), iterkeys() to keys() etc. In other cases, helpers like six.itervalues are used. Reviewed-By: Christian Heimes <cheimes@redhat.com> Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipapython/dnssec')
-rw-r--r--ipapython/dnssec/abshsm.py18
-rw-r--r--ipapython/dnssec/ldapkeydb.py6
-rwxr-xr-xipapython/dnssec/localhsm.py20
3 files changed, 19 insertions, 25 deletions
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)