New Project Announcement:
#!/usr/bin/env python from __future__ import print_function import sys from straight.command import Command, Option, SubCommand class List(Command): def run_default(self, **extra): for line in open(self.parent.args['filename']): print(line.strip('\n')) class Add(Command): new_todo = Option(dest='new_todo', action='append') def run_default(self, new_todo, **extra): with open(self.parent.args['filename'], 'a') as f: for one_todo in new_todo: print(one_todo.strip('\n'), file=f) class Todo(Command): filename = Option(dest='filename', action='store') list = SubCommand('list', List) add = SubCommand('add', Add) if __name__ == '__main__': Todo().run(sys.argv[1:])
And a sample of the result of this little script:
$ ./todo.py todo.txt add "Write an example tool" $ ./todo.py todo.txt add "Get the documentation cleaned up and on readthedocs" $ ./todo.py todo.txt add "Blog about the project" $ ./todo.py todo.txt list Write an example tool Get the documentation cleaned up and on readthedocs Blog about the project
The documentation and source are both available now.
Comments
ST