comparison python/tree2.py @ 390:9d02187611ae

make delimeters CLI switchable
author Jeff Hammel <jhammel@mozilla.com>
date Sat, 27 Jul 2013 20:09:49 -0700
parents 2d4dfe1dc632
children
comparison
equal deleted inserted replaced
389:2d4dfe1dc632 390:9d02187611ae
97 97
98 return '\n'.join(retval) 98 return '\n'.join(retval)
99 99
100 def main(args=sys.argv[1:]): 100 def main(args=sys.argv[1:]):
101 101
102 # parse command line options
102 usage = '%prog [options]' 103 usage = '%prog [options]'
103 parser = optparse.OptionParser(usage=usage, description=__doc__) 104 parser = optparse.OptionParser(usage=usage, description=__doc__)
105 parser.add_option('-a', '--ascii', dest='use_ascii',
106 action='store_true', default=False,
107 help="use ascii delimeters (%s)" % ascii_delimeters)
104 options, args = parser.parse_args(args) 108 options, args = parser.parse_args(args)
105 if not args: 109 if not args:
106 args = ['.'] 110 args = ['.']
107 111
112 # sanity check
108 not_directory = [arg for arg in args 113 not_directory = [arg for arg in args
109 if not os.path.isdir(arg)] 114 if not os.path.isdir(arg)]
110 if not_directory: 115 if not_directory:
111 parser.error("Not a directory: %s" % (', '.join(not_directory))) 116 parser.error("Not a directory: %s" % (', '.join(not_directory)))
112 117
118 delimeters = unicode_delimeters
119 if options.use_ascii:
120 delimeters = ascii_delimeters
121
122 # print the tree
113 for arg in args: 123 for arg in args:
114 print (tree(arg)) 124 print (tree(arg, **delimeters))
115 125
116 if __name__ == '__main__': 126 if __name__ == '__main__':
117 main() 127 main()