taskai-cli 1.10.0__tar.gz → 1.10.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/PKG-INFO +1 -1
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/pyproject.toml +1 -1
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/cli.py +1 -1
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/filters.py +15 -6
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/.github/workflows/publish-to-pypi.yml +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/.github/workflows/test.yml +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/.gitignore +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/.readthedocs.yaml +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/CHANGELOG.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/DEVLOG.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/DEVPLAN.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/PHASE_1_RELEASE.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/README.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/TRIAGE.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/.gitignore +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/_static/.gitkeep +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/_static/demo-script.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/ai-integration.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/browser-mode.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/commands.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/conf.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/configuration.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/getting-started.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/index.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/interactive-mode.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/item-data.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/managing-the-tree.md +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/docs/requirements.txt +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/scripts/bump_version.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/browser.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/config.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/dates.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/errors.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/help_menu.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/json_dir_database.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/llm_models.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/models.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/services/ai.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/services/pomodoro.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/services/repair_database.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/services/user_setup.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/static/camera.js +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/static/canvas.js +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/static/config.js +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/static/console.js +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/static/editpanel.js +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/static/graph.js +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/static/index.html +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/static/navigation.js +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/static/render.js +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/static/shortcuts.js +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/static/style.css +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/taskai/views.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/test/test_chains.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/test/test_cli.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/test/test_execution.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/test/test_json_dir_database.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/test/test_legacy_migration.py +0 -0
- {taskai_cli-1.10.0 → taskai_cli-1.10.2}/test/test_view.py +0 -0
|
@@ -576,7 +576,7 @@ def execute_commands(*args, **kwargs) -> int:
|
|
|
576
576
|
|
|
577
577
|
case "complete" | "done":
|
|
578
578
|
recursive = "-r" in args or "-recursive" in args
|
|
579
|
-
Controller.update_item(args[1], completed=True, recursive=recursive)
|
|
579
|
+
Controller.update_item(args[1], completed=True, recursive=recursive, status="")
|
|
580
580
|
|
|
581
581
|
case "undone":
|
|
582
582
|
recursive = "-r" in args or "-recursive" in args
|
|
@@ -19,7 +19,7 @@ import re
|
|
|
19
19
|
from dataclasses import dataclass
|
|
20
20
|
|
|
21
21
|
from taskai.dates import parse_date_value
|
|
22
|
-
from taskai.json_dir_database import DatabaseError
|
|
22
|
+
from taskai.json_dir_database import DatabaseError, JsonDirectoryDatabase
|
|
23
23
|
|
|
24
24
|
# attr -> how both sides of the comparison should be read
|
|
25
25
|
_INT_ATTRS = {"id", "parent_id", "priority"}
|
|
@@ -133,7 +133,7 @@ def match_items(db, exprs) -> set:
|
|
|
133
133
|
return matched
|
|
134
134
|
|
|
135
135
|
|
|
136
|
-
def with_ancestors(db, ids) -> set:
|
|
136
|
+
def with_ancestors(db: JsonDirectoryDatabase, ids) -> set:
|
|
137
137
|
"""`ids` plus every ancestor of every id, so the selection is a set of
|
|
138
138
|
complete root-to-node paths."""
|
|
139
139
|
keep = set()
|
|
@@ -141,8 +141,17 @@ def with_ancestors(db, ids) -> set:
|
|
|
141
141
|
cursor = id_
|
|
142
142
|
while cursor is not None and cursor not in keep:
|
|
143
143
|
keep.add(cursor)
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
144
|
+
|
|
145
|
+
parent_id = db.get_item_attr(cursor, "parent_id")
|
|
146
|
+
|
|
147
|
+
# breakpoint()
|
|
148
|
+
if parent_id is not None:
|
|
149
|
+
cursor = parent_id
|
|
150
|
+
continue
|
|
151
|
+
|
|
152
|
+
cursor = db.get_item_attr(cursor, "prev_chain_id")
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
# breakpoint()
|
|
148
157
|
return keep
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|