hamster-tools/README.md

60 lines
2.8 KiB
Markdown

# hamster-tools
Manipulate [hamster-time-tracker](https://github.com/projecthamster/) data
from the command-line, including:
- find duplicate activities
- list, move and delete categories, activities and facts
Merging, renaming and otherwise tidying-up the database used to be possible in
the Hamster GUI, but currently (as of version 2.0.0.16) doesn't work for me, so
I wrote this script to fill in the gap until the [shiny new version of
hamster](https://github.com/projecthamster/hamster-lib) is ready.
$ pip install .
$ hamster-tools categories --help
Usage: hamster-tools categories [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
activities Show activities for categories specified by IDS
delete Delete categories specified by IDS
list List / search categories
tidy Delete empty categories
$ hamster-tools activities --help
Usage: hamster-tools activities [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
delete Delete activities specified by IDS
find-duplicates Show activities which are not unique in their categories
list List / search activities
list-facts Show facts for activities
move Move activities to another category
move-facts Move facts from one activity to another
$ hamster-tools export
Usage: hamster-tools export [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
kimai Export time tracking data in Kimai format
## Importing into Kimai
1. Run `python -m hamstertools activities list --csv` to get a dump of all activities
2. Review the export to check for any duplicates, typoes, etc.
3. Use e.g. `python -m hamstertools activities move-facts ...` to clean them up
4. Run `python -m hamstertools kimai import --mapping-path data/mapping.2023.kimai.csv --show-missing --after 2023-09-07 --category-search auto 3wordchant` to find entries in your time tracking which don't yet have a mapping to Kimai. You might notice some extra tidying needed here.
5. Run `python -m hamstertools kimai sync --mapping-path data/mapping.2023.kimai.csv --just-errors --ignore-activities 3wordchant $(pass users/calix/logins/kimai.autonomic.zone/api)` to find items in your mapping file which don't exist on Kimai
5. Run `python -m hamstertools kimai import --mapping-path data/mapping.2023.kimai.csv --after 2023-09-07 --category-search auto 3wordchant --output data/kimai_$(date +%F).csv` to generate a CSV of your time entries
6. Review your timesheet -- NB it might not be sorted in date order by default - to make sure it has the expected entries, and remove any entries already in Kimai.