kusold / todoist-habitrpg

One way sync from Todoist -> HabitRPG
120 stars 14 forks source link

Config #17

Closed crookedneighbor closed 4 years ago

crookedneighbor commented 9 years ago

Originally brought up in #9.

The module could benefit from having a config file that would allow a user to configure certain settings, without having to type them all out on the command line. Maybe todoist-habitrpg -c path/to/config.json to specify the location of the config?

Here's a sampling of some basic configs

{
"habit-uuid" : "asdf-1234-asdf-1234",
"habit-token" : "asdf-1234-asdf-1234",
"todoist-key" : "asdf-1234-asdf-1234",
"history-location" : "~/path/to/history",
"sync-only": "all", // defaults to all, otherwise, an array of values. Some ideas: todos with due dates, inbox, #projectid, @labelid
"exclude-projects" : ["array", "of", "project", "ids"], 
"exclude-labels" : ["array", "of", "label", "ids"],
"sync-priority" : "label", // defaults to false. uses @hard, @med/@medium, @easy labels. Maybe an array of 3 values long could allow people to specify tags? Can also choose "priority" to use built in priority system
}

It'd be nice for the sync-only, exclude-projects, and exclude-labels to be able to use names of projects/labels, but since the id is what's unique, and how it's referenced in the api, that may be what needs to happen.

Maybe include a /bin directory with some small utilities, like generating a table showing the name of the project/label and it's associated id for all the projects/labels.

It also might be helpful to group things together, like so:

"credentials" : {
    "habit-uuid" : "asdf",
    "habit-token" : "adsf",
    "todoist-key" : "asdf"
},
"exclusions" : {
    "projects" : ["array"],
    "labels" : ["array"]
}

Anyway, just some thoughts. I'm sure more things could be configured, and not everything I listed needs to be configured.

kusold commented 9 years ago