From ddf4662d784f0c76707145149e7fe7c7217f2f87 Mon Sep 17 00:00:00 2001 From: jpt Date: Sat, 3 May 2025 15:34:33 -0500 Subject: [PATCH] remove tasks --- src/tt/controller/generators.py | 10 ++--- src/tt/db.py | 4 +- src/tt/tui/recurring.py | 6 +-- src/tt/tui/tasks.py | 78 --------------------------------- 4 files changed, 10 insertions(+), 88 deletions(-) delete mode 100644 src/tt/tui/tasks.py diff --git a/src/tt/controller/generators.py b/src/tt/controller/generators.py index b7c5e3c..95bf3e1 100644 --- a/src/tt/controller/generators.py +++ b/src/tt/controller/generators.py @@ -21,15 +21,15 @@ def add_generator( # JSON for future expansion config = json.dumps({"val": val}) with db.atomic(): - task = ThingGenerator.create( + thing = ThingGenerator.create( template=template, type=type, config=config, ) - return task + return thing -def generate_needed_tasks(): +def generate_needed_things(): to_create = [] for g in get_generators(): next = g.next_at() @@ -62,5 +62,5 @@ def update_generator( with db.atomic(): query = ThingGenerator.update(kwargs).where(ThingGenerator.id == item_id) query.execute() - task = ThingGenerator.get_by_id(item_id) - return task + thing = ThingGenerator.get_by_id(item_id) + return thing diff --git a/src/tt/db.py b/src/tt/db.py index 627edd2..5ec0302 100644 --- a/src/tt/db.py +++ b/src/tt/db.py @@ -15,7 +15,7 @@ from playhouse.sqlite_ext import JSONField # db = SqliteDatabase( - xdg_data_home() / "tt/tasks.db", + xdg_data_home() / "tt/tt.db", pragmas={ "journal_mode": "wal", "synchronous": "normal", @@ -84,7 +84,7 @@ class ThingGenerator(BaseModel): month = 1 year += 1 - # recurring tasks on 29-31 in Feb will just happen on 28th + # recurring on 29-31 in Feb will just happen on 28th if day_of_month >= 29 and month == 2: maybe_next = date(year, month, 28) else: diff --git a/src/tt/tui/recurring.py b/src/tt/tui/recurring.py index 45f8fac..eb227ee 100644 --- a/src/tt/tui/recurring.py +++ b/src/tt/tui/recurring.py @@ -5,7 +5,7 @@ from ..controller.generators import ( get_generators, add_generator, update_generator, - generate_needed_tasks, + generate_needed_things, ) from .editor import ( TableEditor, ) @@ -19,9 +19,9 @@ class GenEditor(TableEditor): self.table_config = self._load_config("recurring") def refresh_items(self): - generated = generate_needed_tasks() + generated = generate_needed_things() if num := len(generated): - self.notify(f"created {num} tasks") + self.notify(f"created {num} things") items = get_generators() for item in items: self.table.add_row( diff --git a/src/tt/tui/tasks.py b/src/tt/tui/tasks.py deleted file mode 100644 index f2313ce..0000000 --- a/src/tt/tui/tasks.py +++ /dev/null @@ -1,78 +0,0 @@ -import json -from textual.widgets import Input - -from ..controller.tasks import ( - get_task, - get_tasks, - add_task, - update_task, - save_view, - get_saved_view, -) -from .editor import TableEditor - - -class TT(TableEditor): - - BINDINGS = [ - # saved views - ("ctrl+s", "save_view", "save current view"), - ("ctrl+o", "load_view", "load saved view"), - ] - - def __init__(self, default_view="default"): - super().__init__("tasks") - self.update_item_callback = update_task - self.add_item_callback = add_task - self.get_item_callback = get_task - - def _load_db_view(self, name): - try: - saved = get_saved_view(name) - self.filters = json.loads(saved.filters) - self.sort_string = saved.sort_string - except Exception: - self.notify(f"Could not load {name}") - - def action_save_view(self): - self._show_input("save-view", "default") - - def action_load_view(self): - self._show_input("load-view", "") - - def on_input_submitted(self, event: Input.Submitted): - # Override to add save/load view - if self.mode == "save-view": - save_view(event.value, filters=self.filters, sort_string=self.sort_string) - self._hide_input() - event.prevent_default() - elif self.mode == "load-view": - self._load_view(event.value) - self.refresh_tasks(restore_cursor=False) - self._hide_input() - # if event isn't handled here it will bubble to parent - event.prevent_default() - - def refresh_items(self): - items = get_tasks( - self.search_query, - projects=self._filters_to_list("project"), - statuses=self._filters_to_list("status"), - sort=self.sort_string, - ) - for item in items: - self.table.add_row( - *self._db_item_to_row(item), - key=str(item.id), - ) - - def _filters_to_list(self, key): - filters = self.filters.get(key) - if filters: - return filters.split(",") - else: - return None - -def run(default_view): - app = TT(default_view) - app.run()