file_ext = '.' + type
out = open(outfile, 'w')
+ visited = set()
for dir in dirs.split(path_sep):
# for each valid directory
if not os.path.isdir(dir):
continue
# walk down the file hierarchy
- for root,path,files in os.walk(dir):
+ for root,dirs,files in os.walk(dir, followlinks=True):
+ # prevent inifinite recursion
+ recurse = []
+ for dir in dirs:
+ dirname = os.path.join(root, dir)
+ dirname = os.path.realpath(dirname)
+ dirname = os.path.normcase(dirname)
+ if dirname not in visited:
+ visited.add(dirname)
+ recurse.append(dir)
+ dirs[:] = recurse
# check file type
for file in files:
if len(file) > 4 and file[-4:] == file_ext: