Add initial CLI support

This commit is contained in:
Andrew Mulbrook 2026-03-21 22:25:32 -05:00
parent e16d67e2f8
commit 22a9c68611
14 changed files with 168 additions and 26 deletions

View file

@ -3,7 +3,7 @@ import sqlite3
import tempfile
from pathlib import Path
from typing import Optional, Dict, List, Self, Iterable
from .trove import NODE_ROOT_ID, Note, Trove, TreeNote, BlobNote, Blob, Tree, BadNoteType, TreeEntry, NoteNotFound
from .trove import Note, Trove, TreeNote, BlobNote, Blob, Tree, BadNoteType, TreeEntry, NoteNotFound
class FSNote(Note):
@ -14,7 +14,7 @@ class FSNote(Note):
if self._fs_path is not None:
inode = self._fs_path.stat().st_ino
if self._inode != inode and self._inode is not None and self._inode != NODE_ROOT_ID:
if self._inode != inode and self._inode is not None:
raise ValueError(f"Inconsistent inode: {self._inode} vs {inode}")
self._inode = inode
@ -148,9 +148,6 @@ class FSTrove(Trove):
self.con = sqlite3.connect(str(db_path))
self._init_db()
# Ensure root mapping.
self._update_cache(NODE_ROOT_ID, self.root)
@classmethod
def open(cls, path: str | Path, create: bool = False) -> 'FSTrove':
p = Path(path)