config | ||
src | ||
.gitignore | ||
install.py | ||
LICENSE | ||
README.md | ||
schedule-timer |
ScheduleTimer
Say you are organized enough to have a list of things to do in a given workday, but not to the point where every task is in a calendar. You just know how long you need to work on your different tasks for a day.
ScheduleTimer is perfect for students that need to practice on tasks that can't be qualified as finished. It will time your tasks while you're working on them, and when your workday is finished, tell you if the time spent on each daily task was enough.
How it works
You start your day by writing a config file, which tells SchedulerTimer what tasks you will be working on and for each task how long you expect to work on it.
$ schedule template
creates a confile file template for you to edit.
Once the config file is ready:
$ schedule list
lists the available tasks and their status.
$ schedule add <task> <goal>
adds a new task without affecting the state of the
current ones.
This is helpfull when you didn't write all the tasks at the beginning and want to
add one later on.
$ schedule edit
edits the config file with the editor defined in the EDITOR
environment variable. If EDITOR is not set, it will default to vim.
$ schedule remove <task>
removes a task without affecting the state of the
current ones.
$ schedule update <task> <goal>
updates the goal of a task without affecting
the state of the current ones.
$ schedule init
parses the config file to make the different tasks available.
This will overwrite the counting of current tasks.
$ schedule clear
clears all current progress.
$ schedule start <task>
starts the timer for the specified task. You start working
on your task.
$ schedule stop <task>
pauses the timer for the specified task. You can start it
again afterwards, or leave it to start working on another task.
$ schedule finish
tells ScheduleTimer that your workday is finished.
It will stop any ongoing task, calculate the time spent on each one of them and compare them to the goals in the config file.
$ schedule help [<command>]
prints the main help message if <command>
is not
provided, or the specific help message for the given command if <command>
is
provided.
Installation
$ pip install argcomplete
$ ./install.py