hamster-time-tracker utility belt 🐹👷
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3wc 40c0312e4c
Sort entries, fix docs
5 months ago
hamstertools Sort entries, fix docs 5 months ago
.gitignore Tweak README, ignore data/, add requirements 1 year ago
README.md Sort entries, fix docs 5 months ago
requirements.txt Tweak README, ignore data/, add requirements 1 year ago
setup.py Tweak reqs, add rename_category, etc. 2 years ago

README.md

hamster-tools

Manipulate hamster-time-tracker 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 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 mapping.kimai.csv --show-missing --after 2021-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 mapping.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
  6. Run python -m hamstertools kimai import --mapping-path mapping.kimai.csv --after 2021-09-07 --category-search auto 3wordchant --output kimai_$(date +%F).csv to generate a CSV of your time entries
  7. 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.