clean up; remove old files
This commit is contained in:
parent
72588fd9c6
commit
4f408d7ceb
5 changed files with 7 additions and 128 deletions
|
@ -6,9 +6,6 @@ from typing_extensions import Annotated
|
|||
from .db import initialize_db, db
|
||||
from .sync import full_sync
|
||||
from .tui.things import run as things_tui
|
||||
|
||||
# from .tui.overview import run as overview_tui
|
||||
from .tui.recurring import run as recurring_tui
|
||||
from .controller.things import add_thing
|
||||
|
||||
app = typer.Typer()
|
||||
|
@ -52,18 +49,6 @@ def table(
|
|||
things_tui(view)
|
||||
|
||||
|
||||
@app.command()
|
||||
def generators():
|
||||
initialize_db()
|
||||
recurring_tui()
|
||||
|
||||
|
||||
@app.command()
|
||||
def overview():
|
||||
initialize_db()
|
||||
overview_tui()
|
||||
|
||||
|
||||
@app.command()
|
||||
def backup(backup_path: str):
|
||||
"""
|
||||
|
|
|
@ -1,66 +0,0 @@
|
|||
import json
|
||||
from datetime import date, timedelta
|
||||
from ..db import db, ThingGenerator
|
||||
from .things import add_thing
|
||||
|
||||
|
||||
def get_generator(item_id: int) -> ThingGenerator:
|
||||
return ThingGenerator.get_by_id(item_id)
|
||||
|
||||
|
||||
def get_generators() -> list[ThingGenerator]:
|
||||
query = ThingGenerator.select().where(~ThingGenerator.deleted)
|
||||
return query.order_by("type", "template")
|
||||
|
||||
|
||||
def add_generator(
|
||||
template: str,
|
||||
type: str,
|
||||
val: str,
|
||||
) -> ThingGenerator:
|
||||
# JSON for future expansion
|
||||
config = json.dumps({"val": val})
|
||||
with db.atomic():
|
||||
thing = ThingGenerator.create(
|
||||
template=template,
|
||||
type=type,
|
||||
config=config,
|
||||
)
|
||||
return thing
|
||||
|
||||
|
||||
def generate_needed_things():
|
||||
to_create = []
|
||||
for g in get_generators():
|
||||
next = g.next_at()
|
||||
if not next:
|
||||
continue
|
||||
# TODO: make configurable
|
||||
if date.today() - next > timedelta(days=14):
|
||||
to_create.append(
|
||||
{
|
||||
"text": g.template.format(next=next),
|
||||
"project": "recurring",
|
||||
"due": next,
|
||||
}
|
||||
)
|
||||
|
||||
for c in to_create:
|
||||
add_thing(**c)
|
||||
|
||||
return to_create
|
||||
|
||||
|
||||
def update_generator(
|
||||
item_id: int,
|
||||
**kwargs,
|
||||
) -> ThingGenerator:
|
||||
# replace "val" with JSON
|
||||
if "val" in kwargs:
|
||||
config = {"val": kwargs.pop("val")}
|
||||
kwargs["config"] = json.dumps(config)
|
||||
with db.atomic():
|
||||
query = ThingGenerator.update(kwargs).where(ThingGenerator.id == item_id)
|
||||
query.execute()
|
||||
thing = ThingGenerator.get_by_id(item_id)
|
||||
return thing
|
|
@ -12,7 +12,7 @@ def sync_view(view_name):
|
|||
SERVER_URL + "view/",
|
||||
params={"api_key": SERVER_KEY},
|
||||
json={
|
||||
"name": view['name'],
|
||||
"name": view["name"],
|
||||
"columns": columns,
|
||||
"filters": filters,
|
||||
"sort": view["sort"],
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from textual.app import App, ComposeResult
|
||||
from textual.containers import ScrollableContainer, Horizontal
|
||||
from textual.widgets import DataTable, Static, Label
|
||||
from textual.widgets import DataTable, Label
|
||||
from textual.binding import Binding
|
||||
from datetime import datetime
|
||||
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
import json
|
||||
|
||||
from ..controller.generators import (
|
||||
get_generator,
|
||||
get_generators,
|
||||
add_generator,
|
||||
update_generator,
|
||||
generate_needed_things,
|
||||
)
|
||||
from .editor import (
|
||||
TableEditor,
|
||||
)
|
||||
|
||||
|
||||
class GenEditor(TableEditor):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.update_item_callback = update_generator
|
||||
self.add_item_callback = add_generator
|
||||
self.get_item_callback = get_generator
|
||||
self.table_config = self._load_config("recurring")
|
||||
|
||||
def refresh_items(self):
|
||||
generated = generate_needed_things()
|
||||
if num := len(generated):
|
||||
self.notify(f"created {num} things")
|
||||
items = get_generators()
|
||||
for item in items:
|
||||
self.table.add_row(
|
||||
str(item.id),
|
||||
item.template,
|
||||
item.type,
|
||||
json.loads(item.config)["val"],
|
||||
str(item.next_at()),
|
||||
)
|
||||
|
||||
|
||||
def run():
|
||||
app = GenEditor()
|
||||
app.run()
|
Loading…
Reference in a new issue