Python / JSON TODOs with Pathlib
WARNING: This project is Python 3 only. If you want to use Python 2 you should install pathlib2
manually; NOT recommended though.
Install
$ mkvirtualenv todos -p /usr/bin/python3
$ pip install -r requirements.txt
Usage
General:
$ python main.py --help
$ python main.py --debug
List todos
$ python main.py list
$ python main.py list -s pending
$ python main.py list -s done
$ python main.py list -s all
Create todos
$ python main.py create "My TODO Task"
$ python main.py create "My TODO Task" -c "programming"
$ python main.py create "My TODO Task" -d "Much description, wow"
$ python main.py create "My TODO Task" -d "Much description, wow" -p "2018-03-05"
Homework
The functionality built during class only includes listing and creating new todos. Your tasks include:
1) Mark TODOs as done
The function main.complete
should mark a TODO as done.
2) Serialize in multiple formats
Include an extra option and refactor TodoManager
to include multiple serializer formats. For example, JSON, XML, CSV, TOML, etc.
Can you think of a binary format? (check out [Protocol Buffers](https://en.wikipedia.org/wiki/Protocol_Buffers, MessagePack or BSON)