nix-conf/overlays/ki.diff
2025-01-05 00:40:00 -05:00

76 lines
2.7 KiB
Diff

diff --git a/ki/__init__.py b/ki/__init__.py
index 3f29c1a..17c820c 100644
--- a/ki/__init__.py
+++ b/ki/__init__.py
@@ -405,7 +405,7 @@ def parse_note(parser: Lark, transformer: NoteTransformer, delta: Delta) -> Deck
deck=deck,
model=flatnote.model,
tags=flatnote.tags,
- fields=flatnote.fields,
+ fields={k: v.rstrip() for k, v in flatnote.fields.items()},
)
@@ -466,7 +466,7 @@ def update_note(
nid = note.id
note.tags = decknote.tags
- note.flush()
+ note.col.update_note(note)
# Set the deck of the given note, as well as all its cards, and create a
# deck with this name if it doesn't already exist. See the
@@ -496,7 +496,7 @@ def update_note(
warnings = map(lambda k: NoteFieldValidationWarning(nid, k, new_notetype), missing)
fields = [(key, field) for key, field in decknote.fields.items() if key in note]
stardo(update_field(decknote, note), fields)
- note.flush()
+ note.col.update_note(note)
# Remove if unhealthy.
fwarns: List[Warning] = check_fields_health(note)
@@ -1510,14 +1510,15 @@ def _pull2(kirepo: KiRepo, col: Collection) -> Collection:
@ki.command()
+@click.option('-f', '--force', is_flag=True)
@beartype
-def push() -> None:
+def push(force: bool) -> None:
"""Push commits from the currrent ki repository into an Anki collection."""
- _push()
+ _push(force)
@beartype
-def _push() -> PushResult:
+def _push(force: bool = False) -> PushResult:
"""Execute a push op."""
# pylint: disable=too-many-locals
# Check that we are inside a ki repository, and load collection.
@@ -1527,7 +1528,10 @@ def _push() -> PushResult:
hashes: List[str] = kirepo.hashes_file.read_text(encoding=UTF8).split("\n")
hashes = list(filter(lambda l: l != "", hashes))
if md5sum not in hashes[-1]:
- raise UpdatesRejectedError(kirepo.col_file)
+ if force:
+ echo('overwriting...')
+ else:
+ raise UpdatesRejectedError(kirepo.col_file)
head_kirepo: KiRepo = cp_ki(M.head_ki(kirepo), f"{HEAD_SUFFIX}-{md5sum}")
remote_root: EmptyDir = F.mksubdir(F.mkdtemp(), REMOTE_SUFFIX / md5sum)
diff --git a/ki/maybes.py b/ki/maybes.py
index 38c5573..45458f5 100644
--- a/ki/maybes.py
+++ b/ki/maybes.py
@@ -470,8 +470,6 @@ def empty_kirepo(root: EmptyDir) -> Tuple[EmptyDir, EmptyDir]:
"""Initialize subdirs for a ki repo."""
kidir = F.mksubdir(root, Path(KI))
mediadir = F.mksubdir(EmptyDir(root), Path(MEDIA))
- workflowsdir = F.mksubdir(EmptyDir(root), Path(".github/workflows"))
- _ = F.copyfile(F.chk(Path(__file__).parent / "jekyll-gh-pages.yml"), F.chk(workflowsdir / "jekyll-gh-pages.yml.example"))
return kidir, mediadir