Marty Oehme
2bbb594d62
Added first informal parser interface, only requiring a method to parse events and one to parse trackers. Theoretically we only *require* a method to parse events since, through their contained activities, they would also come with trackers. But this would 1) be much more opaque and a lot of work to then extract the trackers again and 2) leave out trackers which do not yet have any activities associated with them (i.e. trackers never once accomplished). We can still turn the informal parser into a formal interface if need arises: https://realpython.com/python-interface/ |
||
---|---|---|
src/habitmove | ||
tests | ||
.gitignore | ||
CHANGELOG.md | ||
noxfile.py | ||
poetry.lock | ||
pyproject.toml | ||
README.md |
habit-migrate
Can take an export of nomie habits in json format and convert it to be importable in Loop Habit Tracker.
Confirmed working for nomie version 5.6.4 and Loop Habit Tracker version 2.0.2 and 2.0.3. Presumably works for other nomie 5.x versions and other Loop 2.x versions as well, but that is untested.
Usage
Run as a commandline utility habit migrate currently takes a single argument, the nomie database .json
file.
The output as importable Loop Habit Tracker database will be written to output.db
in present working directory.
Can also take an existing Loop Habit database (exported from the application),
and add the nomie exported habits and checkmarks to it.
Simply put the exported Loop database in the same directory and call it output.db
,
it will not (should not™️) overwrite anything.
If there are any duplicated habits however,
it will add duplications of the existing repetitions into the database.
Invoked like: python run.py nomie-export.json
.
Note, however, that -- until a packaged version is released -- you will need to have some packages in your environment.
If you wish to run it un-packaged, install poetry and let it do all dependency management by doing:
poetry install
poetry run habitmove <nomie-json>
In the future there might be an easier road to using this package but that's the way it is for now.
The package can also be used as a library to load nomie data or move data into Loop Habit Tracker.