dict objects provide an __iter__ method for the iteration which gives you the
keys, so calling keys directly is unnecessary, and isn't really a best
practice. The only time you really need to call the keys is if there's a
danger of the dict changing out from underneith you, either due to external
forces or due to modification of the iterable in the loop. Iterations over
os.environ are apparently subject to such changes, so they must continue to
use keys().
As an aside, also switches a couple spots to using sorted() rather than
creating a temporary list with keys() and sorting that.
(Bitbake rev:
5b6ccb16c6e71e23dac6920cd2df994d67c2587b)
Signed-off-by: Chris Larson <clarson@mvista.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
latest_versions = {}
# Sort by priority
- for pn in pkg_pn.keys():
+ for pn in pkg_pn:
(last_ver,last_file,pref_ver,pref_file) = bb.providers.findBestProvider(pn, self.configuration.data, self.status)
preferred_versions[pn] = (pref_ver, pref_file)
latest_versions[pn] = (last_ver, last_file)
- pkg_list = pkg_pn.keys()
- pkg_list.sort()
-
bb.msg.plain("%-35s %25s %25s" % ("Package Name", "Latest Version", "Preferred Version"))
bb.msg.plain("%-35s %25s %25s\n" % ("============", "==============", "================="))
- for p in pkg_list:
+ for p in sorted(pkg_pn):
pref = preferred_versions[p]
latest = latest_versions[p]
self.status.preferred[providee] = provider
# Calculate priorities for each file
- for p in self.status.pkg_fn.keys():
+ for p in self.status.pkg_fn:
self.status.bbfile_priority[p] = calc_bbfile_priority(p)
def buildWorldTargetList(self):
if not var in self.dict:
self._makeShadowCopy(var)
- for i in flags.keys():
+ for i in flags:
if i == "content":
continue
self.dict[var][i] = flags[i]
flags = {}
if local_var:
- for i in local_var.keys():
+ for i in local_var:
if i == "content":
continue
flags[i] = local_var[i]
url += "%s" % host
url += "%s" % path
if p:
- for parm in p.keys():
+ for parm in p:
url += ";%s=%s" % (parm, p[parm])
return url
# bb.msg.note(1, bb.msg.domain.Fetcher, "uri_replace: no match")
return uri
# else:
-# for j in i.keys():
+# for j in i:
# FIXME: apply replacements against options
return bb.encodeurl(result_decoded)
varmap["${datadir}"] = "${STAGING_DATADIR}"
matched = 0
- for key in varmap.keys():
+ for key in varmap:
if dest.startswith(key):
dest = varmap[key] + "/" + dest[len(key):]
matched = 1
if preference not in priorities[priority]:
priorities[priority][preference] = []
priorities[priority][preference].append(f)
- pri_list = priorities.keys()
- pri_list.sort(lambda a, b: a - b)
tmp_pn = []
- for pri in pri_list:
- pref_list = priorities[pri].keys()
- pref_list.sort(lambda a, b: b - a)
+ for pri in sorted(priorities, lambda a, b: a - b):
tmp_pref = []
- for pref in pref_list:
+ for pref in sorted(priorities[pri], lambda a, b: b - a):
tmp_pref.extend(priorities[pri][pref])
tmp_pn = [tmp_pref] + tmp_pn
pkg_pn[pn] = []
pkg_pn[pn].append(p)
- bb.msg.debug(1, bb.msg.domain.Provider, "providers for %s are: %s" % (item, pkg_pn.keys()))
+ bb.msg.debug(1, bb.msg.domain.Provider, "providers for %s are: %s" % (item, pkg_pn()))
# First add PREFERRED_VERSIONS
- for pn in pkg_pn.keys():
+ for pn in pkg_pn():
sortpkg_pn[pn] = sortPriorities(pn, dataCache, pkg_pn)
preferred_versions[pn] = findPreferredProvider(pn, cfgData, dataCache, sortpkg_pn[pn], item)
if preferred_versions[pn][1]:
eligible.append(preferred_versions[pn][1])
# Now add latest verisons
- for pn in sortpkg_pn.keys():
+ for pn in sortpkg_pn():
if pn in preferred_versions and preferred_versions[pn][1]:
continue
preferred_versions[pn] = findLatestProvider(pn, cfgData, dataCache, sortpkg_pn[pn][0])
global last_exception
globexpr = params[0]
self._checkParsed()
- names = globfilter( cooker.status.pkg_pn.keys(), globexpr )
+ names = globfilter( cooker.status.pkg_pn, globexpr )
if len( names ) == 0: names = [ globexpr ]
print "SHELL: Building %s" % ' '.join( names )
def help( self, params ):
"""Show a comprehensive list of commands and their purpose"""
print "="*30, "Available Commands", "="*30
- allcmds = cmds.keys()
- allcmds.sort()
- for cmd in allcmds:
+ for cmd in sorted(cmds):
function,numparams,usage,helptext = cmds[cmd]
print "| %s | %s" % (usage.ljust(30), helptext)
print "="*78
what, globexpr = params
if what == "files":
self._checkParsed()
- for key in globfilter( cooker.status.pkg_fn.keys(), globexpr ): print key
+ for key in globfilter( cooker.status.pkg_fn, globexpr ): print key
elif what == "providers":
self._checkParsed()
- for key in globfilter( cooker.status.pkg_pn.keys(), globexpr ): print key
+ for key in globfilter( cooker.status.pkg_pn, globexpr ): print key
else:
print "Usage: match %s" % self.print_.usage
match.usage = "<files|providers> <glob>"
what = params[0]
if what == "files":
self._checkParsed()
- for key in cooker.status.pkg_fn.keys(): print key
+ for key in cooker.status.pkg_fn: print key
elif what == "providers":
self._checkParsed()
- for key in cooker.status.providers.keys(): print key
+ for key in cooker.status.providers: print key
else:
print "Usage: print %s" % self.print_.usage
print_.usage = "<files|providers>"
"""Get the complete bbfile path"""
if not cooker.status: return bbfile
if not cooker.status.pkg_fn: return bbfile
- for key in cooker.status.pkg_fn.keys():
+ for key in cooker.status.pkg_fn:
if key.endswith( bbfile ):
return key
return bbfile
allmatches = cooker.configuration.data.keys()
elif u == "<bbfile>":
if cooker.status.pkg_fn is None: allmatches = [ "(No Matches Available. Parsed yet?)" ]
- else: allmatches = [ x.split("/")[-1] for x in cooker.status.pkg_fn.keys() ]
+ else: allmatches = [ x.split("/")[-1] for x in cooker.status.pkg_fn ]
elif u == "<providee>":
if cooker.status.pkg_fn is None: allmatches = [ "(No Matches Available. Parsed yet?)" ]
else: allmatches = cooker.status.providers.iterkeys()