Skip to content

Commit 4ea6e31

Browse files
committed
Lib: Use items() when appropriate in dict iteration
When both key and value are needed, for key, value in dictionary.items(): ... is used instead of: for key in dictionary.keys(): value = dictionary[key] ... Thanks to Jon Dufresne for finding keys() usages.
1 parent 28528ea commit 4ea6e31

File tree

6 files changed

+18
-19
lines changed

6 files changed

+18
-19
lines changed

Lib/ldap/cidict.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ def __delitem__(self,key):
3535
del self.data[lower_key]
3636

3737
def update(self,dict):
38-
for key in dict.keys():
39-
self[key] = dict[key]
38+
for key, value in dict.items():
39+
self[key] = value
4040

4141
def has_key(self,key):
4242
return key in self

Lib/ldap/modlist.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ def addModlist(entry,ignore_attr_types=None):
1313
"""Build modify list for call of method LDAPObject.add()"""
1414
ignore_attr_types = {v.lower() for v in ignore_attr_types or []}
1515
modlist = []
16-
for attrtype in entry.keys():
16+
for attrtype, value in entry.items():
1717
if attrtype.lower() in ignore_attr_types:
1818
# This attribute type is ignored
1919
continue
2020
# Eliminate empty attr value strings in list
21-
attrvaluelist = [item for item in entry[attrtype] if item is not None]
21+
attrvaluelist = [item for item in value if item is not None]
2222
if attrvaluelist:
23-
modlist.append((attrtype,entry[attrtype]))
23+
modlist.append((attrtype, value))
2424
return modlist # addModlist()
2525

2626

@@ -52,13 +52,13 @@ def modifyModlist(
5252
attrtype_lower_map = {}
5353
for a in old_entry.keys():
5454
attrtype_lower_map[a.lower()]=a
55-
for attrtype in new_entry.keys():
55+
for attrtype, value in new_entry.items():
5656
attrtype_lower = attrtype.lower()
5757
if attrtype_lower in ignore_attr_types:
5858
# This attribute type is ignored
5959
continue
6060
# Filter away null-strings
61-
new_value = [item for item in new_entry[attrtype] if item is not None]
61+
new_value = [item for item in value if item is not None]
6262
if attrtype_lower in attrtype_lower_map:
6363
old_value = old_entry.get(attrtype_lower_map[attrtype_lower],[])
6464
old_value = [item for item in old_value if item is not None]
@@ -88,10 +88,10 @@ def modifyModlist(
8888
if not ignore_oldexistent:
8989
# Remove all attributes of old_entry which are not present
9090
# in new_entry at all
91-
for a in attrtype_lower_map.keys():
91+
for a, val in attrtype_lower_map.items():
9292
if a in ignore_attr_types:
9393
# This attribute type is ignored
9494
continue
95-
attrtype = attrtype_lower_map[a]
95+
attrtype = val
9696
modlist.append((ldap.MOD_DELETE,attrtype,None))
9797
return modlist # modifyModlist()

Lib/ldap/schema/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -655,8 +655,8 @@ def _at2key(self,nameoroid):
655655
return t
656656

657657
def update(self,dict):
658-
for key in dict.keys():
659-
self[key] = dict[key]
658+
for key, value in dict.values():
659+
self[key] = value
660660

661661
def __contains__(self,nameoroid):
662662
return self._at2key(nameoroid) in self.data

Lib/ldap/schema/subentry.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ def ldap_entry(self):
136136
entry = {}
137137
# Collect the schema elements and store them in
138138
# entry's attributes
139-
for se_class in self.sed.keys():
140-
for se in self.sed[se_class].values():
139+
for se_class, elements in self.sed.items():
140+
for se in elements.values():
141141
se_str = str(se)
142142
try:
143143
entry[SCHEMA_ATTR_MAPPING[se_class]].append(se_str)
@@ -153,8 +153,7 @@ def listall(self,schema_element_class,schema_element_filters=None):
153153
avail_se = self.sed[schema_element_class]
154154
if schema_element_filters:
155155
result = []
156-
for se_key in avail_se.keys():
157-
se = avail_se[se_key]
156+
for se_key, se in avail_se.items():
158157
for fk,fv in schema_element_filters:
159158
try:
160159
if getattr(se,fk) in fv:

Lib/ldapurl.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,9 +313,9 @@ def applyDefaults(self,defaults):
313313
Dictionary containing a mapping from class attributes
314314
to default values
315315
"""
316-
for k in defaults.keys():
316+
for k, value in defaults.items():
317317
if getattr(self,k) is None:
318-
setattr(self,k,defaults[k])
318+
setattr(self, k, value)
319319

320320
def initializeUrl(self):
321321
"""

Lib/ldif.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ def _unparseEntryRecord(self,entry):
150150
entry
151151
dictionary holding an entry
152152
"""
153-
for attr_type in sorted(entry.keys()):
154-
for attr_value in entry[attr_type]:
153+
for attr_type, values in sorted(entry.items()):
154+
for attr_value in values:
155155
self._unparseAttrTypeandValue(attr_type,attr_value)
156156

157157
def _unparseChangeRecord(self,modlist):

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy