comparison python/tree2.py @ 386:bea5f2fe4ea4

it works even more!
author Jeff Hammel <jhammel@mozilla.com>
date Fri, 26 Jul 2013 14:58:18 -0700
parents 6ef0ea2f10e3
children 0aee0da6b06b
comparison
equal deleted inserted replaced
385:6ef0ea2f10e3 386:bea5f2fe4ea4
25 level += 1 25 level += 1
26 if not remainder: 26 if not remainder:
27 break 27 break
28 return level 28 return level
29 29
30 def tree(directory): 30 def tree(directory, sort_key=lambda x: x.lower()):
31 31
32 sort_key=lambda x: x.lower()
33 retval = [] 32 retval = []
34 top = depth(directory)
35 indent = [] 33 indent = []
36 last = {} 34 last = {}
35 top = depth(directory)
36
37 for dirpath, dirnames, filenames in os.walk(directory, topdown=True): 37 for dirpath, dirnames, filenames in os.walk(directory, topdown=True):
38 38
39 abspath = os.path.abspath(dirpath) 39 abspath = os.path.abspath(dirpath)
40 basename = os.path.basename(abspath) 40 basename = os.path.basename(abspath)
41 parent = os.path.dirname(abspath) 41 parent = os.path.dirname(abspath)
66 elif not indent: 66 elif not indent:
67 dirpath_mark = '' 67 dirpath_mark = ''
68 else: 68 else:
69 dirpath_mark = ITEM 69 dirpath_mark = ITEM
70 70
71
72 # if basename == 'bin':
73 # import pdb; pdb.set_trace()
74
75 str_indent = ''.join(indent)
76 retval.append('%s%s%s'% (''.join(indent[:-1]), dirpath_mark, basename)) 71 retval.append('%s%s%s'% (''.join(indent[:-1]), dirpath_mark, basename))
77 if filenames: 72 if filenames:
78 last_file = filenames[-1] 73 last_file = filenames[-1]
79 retval.extend([('%s%s%s' % (str_indent, 74 retval.extend([('%s%s%s' % (str_indent,
80 files_end if filename == last_file else ITEM, 75 files_end if filename == last_file else ITEM,