def scan():
"""Scan through all containers and return a list of found valid entries"""
global _kws
result = []
msg(" desktop...", newline=False)
for c in dirs:
for w in os.walk(c):
_kws = _dir2kws(w[0])
if verbose > 1:
msg("\nentering " + w[0])
for x in fnmatch.filter(w[2], "*.desktop"):
if verbose > 1:
msg("parsing %s..." % x, newline=False)
try:
result.append(App(os.path.join(w[0], x)))
if verbose > 1:
msg("ok")
except (NotDesktop, Prophet.NotSet) as e:
if verbose > 1:
msg("REJECTED : " + str(e))
except UnicodeDecodeError:
if verbose > 1:
msg(".desktop UTF-8 decode issue in " + desktop)
msg(" %d apps found" % len(result))
return result