# HG changeset patch # User Jeff Hammel # Date 1374674349 25200 # Node ID 3f84a96cccf61c6ff4fe49f901b002a8f99028f8 # Parent 9314c1008189b7d5749d9de10f92fa13168bffa0 minor improvements; need a thought or two for the real answer diff -r 9314c1008189 -r 3f84a96cccf6 python/tree.py --- a/python/tree.py Wed Jul 24 03:10:27 2013 -0700 +++ b/python/tree.py Wed Jul 24 06:59:09 2013 -0700 @@ -25,16 +25,22 @@ retval = [] level = depth(directory) directories = {} + lvlndctr = [] + last = {} + columns = [] + lastdepth = depth for dirpath, dirnames, filenames in os.walk(directory, topdown=True): + basename = os.path.basename(dirpath) + parent = os.path.abspath(os.path.dirname(dirpath)) indent = depth(dirpath) - level dirnames[:] = sorted(dirnames, key=lambda x: x.lower()) + last[os.path.abspath(dirpath)] = dirnames and dirnames[-1] or None directories[dirpath] = dirnames retval.append('%s%s%s' % ('│' * (indent-1), - '├' if indent else '', - os.path.basename(dirpath))) + ('├' if basename == basename else '└') if indent else '', + basename)) filenames = sorted(filenames, key=lambda x: x.lower()) retval.extend(['%s%s%s' % ('│' * (indent), - # '├' if (((index < len(filenames) -1)) or dirnames) else '└', '├' if (((index < len(filenames) -1)) or dirnames) else '└', name) for index, name in