**BE AWARE** that this script *actively changes* your `jrnl` file during normal operations.
If you are afraid of destructive operations, you have two options:
Create a backup of your `jrnl` file before running this script to be able to `diff` the two afterwards.
Or, to see what the program would do without actually implementing any changes,
invoke dry run mode:
```bash
./jrnlwarrior.py -n
```
It will spit out a list of tasks that are added to `taskwarrior`,
as well as its own options,
lines to be removed from the file and any to-do entries added to the file.
It will not change your `jrnl` file in any way.
If you want to switch off one of the three ways this script connects the two,
you can use the `-L`, `-I`, `-T` options which turn off logging, adding, or creating entries respectively.
```bash
./jrnlwarrior.py -I -T
```
The above invocation will *only* log completed tasks to `taskwarrior`.
Adding new to-dos and creating today entries is turned off.
```bash
./jrnlwarrior.py -T
```
This will create a one-way connection to `taskwarrior`,
by transferring both new and completed tasks to the program.
However, tasks to be done today will not be transferred back to this file.
## Scope
This was a fun weekend project and it shines through ---
the code got increasingly spaghetti towards the end (especially entry-adding to `jrnl` file was one Sunday night hour),
it's not packaged particularly well
and there are no tests of any kind implemented.
I am happily using the script in my daily workflow,
however some assumptions are made and edge cases will happen at some point.
Please don't run it willy-nilly on a long-treasured `jrnl` file without having proper backups.
Otherwise, there is no clear road-map ---
mostly, I think, the code should be cleaned up and a way found that handles `taskwarrior` task duplication better (with `uuid` or `description` comparisons or similar means).
I will probably not be able to devote much more time to this in the foreseeable future,
but if you find an issue tell me nonetheless or, even better,
see if you can spot how to fix it and I will gladly merge the changes in!