# HG changeset patch # User Jeff Hammel # Date 1374880822 25200 # Node ID 0aee0da6b06b6a26632506e0fb9d0c429fad4473 # Parent bea5f2fe4ea49d775354ab27fb68e7831acbf90d even more success diff -r bea5f2fe4ea4 -r 0aee0da6b06b python/tree2.py --- a/python/tree2.py Fri Jul 26 14:58:18 2013 -0700 +++ b/python/tree2.py Fri Jul 26 16:20:22 2013 -0700 @@ -9,15 +9,19 @@ import os import sys -LINE = '|' +# ASCII delimeters +VERTICAL_LINE = '|' ITEM = '+' END = '\\' -# -LINE = '│' + +# unicode delimiters +VERTICAL_LINE = '│' ITEM = '├' END = '└' def depth(directory): + """returns the integer depth of a directory or path relative to '/' """ + directory = os.path.abspath(directory) level = 0 while True: @@ -49,12 +53,11 @@ dirpath_marker = ITEM if level > len(indent): - indent.append(LINE) + indent.append(VERTICAL_LINE) indent = indent[:level] if dirnames: files_end = ITEM - last[abspath] = dirnames[-1] else: files_end = END @@ -71,7 +74,7 @@ retval.append('%s%s%s'% (''.join(indent[:-1]), dirpath_mark, basename)) if filenames: last_file = filenames[-1] - retval.extend([('%s%s%s' % (str_indent, + retval.extend([('%s%s%s' % (''.join(indent), files_end if filename == last_file else ITEM, filename)) for index, filename in enumerate(filenames)])