Add range habits
This commit is contained in:
parent
21fd1e5aaf
commit
1a5004e333
3 changed files with 19 additions and 3 deletions
|
@ -7,6 +7,8 @@ and this project tries to adhere to [Semantic Versioning](https://semver.org/spe
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
* Add range habits, translating nomie max value to range target in Loop
|
||||
|
||||
## [0.2.1] - 2021-08-28
|
||||
|
||||
### Fixed
|
||||
|
|
15
README.md
15
README.md
|
@ -1,3 +1,16 @@
|
|||
# Nomie Habit Migrator
|
||||
|
||||
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.
|
||||
Presumably works for other nomie 5.x versions and other Loop 2.x versions as well, but is untested.
|
||||
|
||||
## Usage
|
||||
|
||||
Currently takes a single argument, the nomie database file, and will output to `output.db` in present working directory.
|
||||
|
||||
Invoked like: `python migrate.py nomie-export.json`
|
||||
|
||||
# Schemas
|
||||
|
||||
A collection of the schemas of Loop habit sqlite database for later migration
|
||||
|
@ -59,7 +72,7 @@ label + emoji | name
|
|||
? | reminder_days (simple int, but i'm not sure how, saw 127)
|
||||
type | type (range,counter [more in nomie]; string in nomie, int in loop)
|
||||
? | target_type (??)
|
||||
? | target_value (??)
|
||||
? | target_value (maximum value for range habits afaik)
|
||||
uom | unit (text description of value, in nomie set values with `num` being no-value count)
|
||||
? | question (text question tracker asks)
|
||||
id | uuid (unique id, must be unique surprisingly)
|
||||
|
|
|
@ -15,7 +15,6 @@ def migrate(db, trackers):
|
|||
|
||||
def trackers_to_habits(trackers):
|
||||
habits = []
|
||||
# for each list entry tracker dict transform to habit dict
|
||||
for tracker_name in trackers.keys():
|
||||
t = trackers[tracker_name]
|
||||
habits.append(
|
||||
|
@ -32,8 +31,10 @@ def trackers_to_habits(trackers):
|
|||
"unit": "" if t["uom"] == "num" else t["uom"],
|
||||
"uuid": t["id"],
|
||||
}
|
||||
# FIXME conditional for ranges (if type = range > habits[-1]['type'] = intforrangetype; habits[-1]['max'] =)
|
||||
)
|
||||
if t["type"] == "range" and len(habits) > 0:
|
||||
habits[-1]["type"] = "1"
|
||||
habits[-1]["target_value"] = t["max"]
|
||||
return habits
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue