Optimize listDirectory.

develop
Mike Hiretsky 13 years ago
parent 12b918b272
commit 02cec31b7b

@ -767,25 +767,12 @@ def getFilesCount(directory):
os.walk(directory)),[])) os.walk(directory)),[]))
return 0 return 0
def listDirectory(directory,findCycle=None): def listDirectory(directory):
"""Get files from directory, if it exists""" """Get files from directory, if it exists"""
try: try:
if os.path.exists(directory) and \ return os.listdir(directory)
os.access(directory,os.R_OK) and \
stat.S_ISDIR(os.lstat(directory)[stat.ST_MODE]):
return os.listdir(directory)
elif stat.S_ISLNK(os.lstat(directory)[stat.ST_MODE]):
realfile = os.path.join(os.path.dirname(directory),
os.readlink(directory))
if not findCycle:
findCycle = [directory]
else:
if realfile in findCycle:
return []
findCycle.append(directory)
return listDirectory(realfile,findCycle)
except OSError: except OSError:
pass pass
return [] return []
def detectDeviceForPartition(dev): def detectDeviceForPartition(dev):

Loading…
Cancel
Save