jinrou / todoist.el

Elisp library to interface with Todoist API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

todoist.el

Elisp library to interface with Todoist API

[0/4]

Todoist API interface

Sync logic between local DB and todoist.com DB

Generate Org TODO lists using local DB

Sync changes in Org TODO lists back to local DB

Hash table Spec

Item spec from Todoist API

todoist Item

{
  "id"              : 33511505,
  "user_id"         : 1855589,
  "project_id"      : 128501470,
  "content"         : "Task1",
  "date_string"     : "",
  "date_lang"       : "en",
  "due_date_utc"    : null,
  "indent"          : 1,
  "priority"        : 1,
  "item_order"      : 1,
  "day_order"       : -1,
  "collapsed"       : 0,
  "children"        : null,
  "labels"          : [12839231, 18391839],
  "assigned_by_uid" : 1855589,
  "responsible_uid" : null,
  "checked"         : 0,
  "in_history"      : 0,
  "is_deleted"      : 0,
  "is_archived"     : 0,
  "sync_id"         : null,
  "date_added"      : "Fri 26 Sep 2014 08:25:05 +0000"
}

Example todoist task

Get coffee beans !!1 @grocery #coffee every month starting Feb 1

Data breakdown

<l20><l20>
PropertyDescriptionValue ExampleType
idTask ID.123456integer
user-idTask owner.789012integer
project-idID of the project the task resides in.345678integer
project-stringName of the project the task resides in.“coffee”string
contentTask text.“Get coffee beans”string
date-stringTask date in free-form, as entered by user.“Feb 1”string
date-langLanguage of date string.‘ensymbol
due-date-utcThe date of the task in the format Mon 07 Aug 2006 12:34:56 +0000 (or null if not set). For all day task (i.e. task due “Today”), the time part will be set as xx:xx:59.UTC representation of 2017/02/01 12:00amstring
priorityThe priority of the task. (a number between 1 and 4).1integer
indentThe indent of the task (a number between 1 and 4, where 1 is top-level).1integer
item-orderThe order of the task inside a project (the smallest value would place the task at the top).1integer
day-orderThe order of the task inside the Today or Next 7 days view (a number, where the smallest value would place the task at the top).-1integer
collapsedWhether the task’s sub-tasks are collapsed (where non-nil is true and nil is false).nilbool
labelsThe tasks labels (a list of label ids such as [2324,2525]).[987654]integer list
labels-stringList of labels, using string names instead of integer label IDs.[“grocery”]string list
assigned-by-uidThe id of the user who assigns the current task. This makes sense for shared projects only. Accepts 0 or any user id from the list of project collaborators. If this value is unset or invalid, it will automatically be set up to your uid.0integer
responsible-uidThe id of user who is responsible for accomplishing the current task. This makes sense for shared projects only. Accepts any user id from the list of project collaborators or null or an empty string to unset.0integer
checkedWhether the task is marked as completed (where non-nil is true and nil is false).nilbool
in-historyWhether the task has been marked as completed and is marked to be moved to history, because all the child tasks of its parent are also marked as completed (where non-nil is true and nil is false).nilbool
is-deletedWhether the task is marked as deleted (where non-nil is true and nil is false).nilbool
is-archivedWhether the task is marked as archived (where non-nil is true and nil is false).nilbool
sync-idA special id for shared tasks (a number or null if not set). Used internally and can be ignored.nullinteger
date-addedThe date when the task was created.“Sun 29 Jan 2017 08:25:05 +0000”string
childrenTBDnull?
repeatTBD“every month”? or ‘every-month? or 30??

About

Elisp library to interface with Todoist API


Languages

Language:Emacs Lisp 100.0%