|
1 | 1 | #!/usr/bin/env python3
|
2 | 2 | # -*- coding: utf-8 -*-
|
3 | 3 |
|
4 |
| -"""Simple read-only API for Things.""" |
| 4 | +"""Simple read-only API for Things. |
| 5 | +
|
| 6 | +We attempt to follow the names used in the Things app, URL Scheme, |
| 7 | +and SQL database whenever possible. |
| 8 | +""" |
5 | 9 |
|
6 | 10 | from __future__ import print_function
|
7 | 11 |
|
@@ -67,15 +71,15 @@ class Database:
|
67 | 71 | TABLE_META = "Meta"
|
68 | 72 | DATE_CREATE = "creationDate"
|
69 | 73 | DATE_MOD = "userModificationDate"
|
70 |
| - DATE_DUE = "dueDate" |
| 74 | + DATE_DEADLINE = "dueDate" |
71 | 75 | DATE_START = "startDate"
|
72 | 76 | DATE_STOP = "stopDate"
|
73 | 77 | IS_INBOX = START_TO_FILTER["Inbox"]
|
74 | 78 | IS_ANYTIME = START_TO_FILTER["Anytime"]
|
75 | 79 | IS_SOMEDAY = START_TO_FILTER["Someday"]
|
76 | 80 | IS_SCHEDULED = f"{DATE_START} IS NOT NULL"
|
77 | 81 | IS_NOT_SCHEDULED = f"{DATE_START} IS NULL"
|
78 |
| - IS_DUE = f"{DATE_DUE} IS NOT NULL" |
| 82 | + IS_DEADLINE = f"{DATE_DEADLINE} IS NOT NULL" |
79 | 83 | IS_RECURRING = "recurrenceRule IS NOT NULL"
|
80 | 84 | IS_NOT_RECURRING = "recurrenceRule IS NULL"
|
81 | 85 | IS_TODO = TYPE_TO_FILTER["to-do"]
|
@@ -120,7 +124,7 @@ def get_tasks(
|
120 | 124 | heading=None,
|
121 | 125 | tag=None,
|
122 | 126 | start_date=None,
|
123 |
| - due_date=None, |
| 127 | + deadline=None, |
124 | 128 | index="index",
|
125 | 129 | count_only=False,
|
126 | 130 | search_query=None,
|
@@ -168,7 +172,7 @@ def get_tasks(
|
168 | 172 | {make_filter("TASK.project", project)}
|
169 | 173 | {make_filter("TASK.actionGroup", heading)}
|
170 | 174 | {make_filter("TASK.startDate", start_date)}
|
171 |
| - {make_filter("TASK.dueDate", due_date)} |
| 175 | + {make_filter(f"TASK.{self.DATE_DEADLINE}", deadline)} |
172 | 176 | {make_filter("TAG.title", tag)}
|
173 | 177 | {make_search_filter(search_query)}
|
174 | 178 | ORDER BY TASK."{index}"
|
@@ -221,8 +225,8 @@ def make_task_sql_query(self, where_predicate):
|
221 | 225 | WHEN CHECKLIST_ITEM.uuid IS NOT NULL THEN 1
|
222 | 226 | END AS checklist,
|
223 | 227 | date(TASK.startDate, "unixepoch") AS start_date,
|
224 |
| - date(TASK.dueDate, "unixepoch") AS due_date, |
225 |
| - date(TASK.stopDate, "unixepoch") AS stop_date, |
| 228 | + date(TASK.{self.DATE_DEADLINE}, "unixepoch") AS deadline, |
| 229 | + date(TASK.stopDate, "unixepoch") AS "stop_date", |
226 | 230 | datetime(TASK.{self.DATE_CREATE}, "unixepoch", "localtime") AS created,
|
227 | 231 | datetime(TASK.{self.DATE_MOD}, "unixepoch", "localtime") AS modified
|
228 | 232 | FROM
|
@@ -302,7 +306,7 @@ def get_checklist_items(self, task_uuid=None):
|
302 | 306 | WHEN CHECKLIST_ITEM.{self.IS_CANCELED} THEN 'canceled'
|
303 | 307 | END AS status,
|
304 | 308 | date(CHECKLIST_ITEM.stopDate, "unixepoch") AS stop_date,
|
305 |
| - 'checklist item' as type, |
| 309 | + 'checklist-item' as type, |
306 | 310 | CHECKLIST_ITEM.uuid,
|
307 | 311 | datetime(
|
308 | 312 | CHECKLIST_ITEM.{self.DATE_MOD}, "unixepoch", "localtime"
|
|
0 commit comments