taskai-cli 1.10.1__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.
Files changed (59) hide show
  1. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/PKG-INFO +1 -1
  2. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/pyproject.toml +1 -1
  3. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/filters.py +15 -6
  4. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/.github/workflows/publish-to-pypi.yml +0 -0
  5. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/.github/workflows/test.yml +0 -0
  6. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/.gitignore +0 -0
  7. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/.readthedocs.yaml +0 -0
  8. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/CHANGELOG.md +0 -0
  9. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/DEVLOG.md +0 -0
  10. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/DEVPLAN.md +0 -0
  11. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/PHASE_1_RELEASE.md +0 -0
  12. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/README.md +0 -0
  13. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/TRIAGE.md +0 -0
  14. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/.gitignore +0 -0
  15. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/_static/.gitkeep +0 -0
  16. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/_static/demo-script.md +0 -0
  17. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/ai-integration.md +0 -0
  18. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/browser-mode.md +0 -0
  19. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/commands.md +0 -0
  20. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/conf.py +0 -0
  21. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/configuration.md +0 -0
  22. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/getting-started.md +0 -0
  23. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/index.md +0 -0
  24. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/interactive-mode.md +0 -0
  25. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/item-data.md +0 -0
  26. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/managing-the-tree.md +0 -0
  27. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/docs/requirements.txt +0 -0
  28. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/scripts/bump_version.py +0 -0
  29. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/browser.py +0 -0
  30. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/cli.py +0 -0
  31. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/config.py +0 -0
  32. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/dates.py +0 -0
  33. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/errors.py +0 -0
  34. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/help_menu.py +0 -0
  35. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/json_dir_database.py +0 -0
  36. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/llm_models.py +0 -0
  37. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/models.py +0 -0
  38. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/services/ai.py +0 -0
  39. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/services/pomodoro.py +0 -0
  40. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/services/repair_database.py +0 -0
  41. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/services/user_setup.py +0 -0
  42. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/static/camera.js +0 -0
  43. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/static/canvas.js +0 -0
  44. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/static/config.js +0 -0
  45. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/static/console.js +0 -0
  46. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/static/editpanel.js +0 -0
  47. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/static/graph.js +0 -0
  48. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/static/index.html +0 -0
  49. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/static/navigation.js +0 -0
  50. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/static/render.js +0 -0
  51. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/static/shortcuts.js +0 -0
  52. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/static/style.css +0 -0
  53. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/taskai/views.py +0 -0
  54. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/test/test_chains.py +0 -0
  55. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/test/test_cli.py +0 -0
  56. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/test/test_execution.py +0 -0
  57. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/test/test_json_dir_database.py +0 -0
  58. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/test/test_legacy_migration.py +0 -0
  59. {taskai_cli-1.10.1 → taskai_cli-1.10.2}/test/test_view.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: taskai-cli
3
- Version: 1.10.1
3
+ Version: 1.10.2
4
4
  Author-email: Alex Paskal <alexcpaskal@gmail.com>
5
5
  Requires-Python: >=3.12
6
6
  Requires-Dist: fastapi>=0.141.1
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "taskai-cli"
3
- version = "1.10.1"
3
+ version = "1.10.2"
4
4
  description = ""
5
5
  authors = [{name = "Alex Paskal", email = "alexcpaskal@gmail.com"}]
6
6
  readme = "README.md"
@@ -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
- try:
145
- cursor = db.get_item_attr(cursor, "parent_id")
146
- except DatabaseError:
147
- break
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