refactor(hermes_cli): browse key handling early-returns; salvage helper one-liners

This commit is contained in:
Teknium
2026-09-02 23:42:50 -07:00
parent 4db49fe512
commit d489d01dce
2 changed files with 14 additions and 18 deletions
+2 -5
View File
@@ -459,8 +459,7 @@ def _probe_populated_edge(source: sqlite3.Connection, table: str, *, edge: str,
span *= 2
continue
if row is None: # nothing beyond candidate: the synthetic domain tail is provably empty
result["bound"] = candidate
result["capped"] = True
result.update(bound=candidate, capped=True)
return result
position = int(row[0]) # rows exist beyond; advance. Span never resets -> O(log range)
span *= 2
@@ -485,9 +484,7 @@ class _RowidRangeSalvage:
self.stopped_at_query_limit = False
def _keep(self, values: list[tuple[Any, ...]]) -> list[tuple[Any, ...]]:
if self.row_filter is None:
return values
return [row for row in values if self.row_filter(row, self.column_names)]
return values if self.row_filter is None else [r for r in values if self.row_filter(r, self.column_names)]
def _skip(self, low: int, high: int, error: str) -> None:
_append_skipped_range(self.result["skipped_rowid_ranges"], low, high, error)
+12 -13
View File
@@ -150,16 +150,15 @@ class _CursesBrowser:
c = self.curses
if self.confirm_delete is not None: # y/n confirmation mode — only an explicit 'y' deletes
target, self.confirm_delete = self.confirm_delete, None
if key in {ord("y"), ord("Y")}:
if self.delete_fn(target["id"]):
self.sessions[:] = [s for s in self.sessions if s["id"] != target["id"]]
self._refilter(reset_cursor=False)
self.flash = "Deleted."
if not self.sessions:
return True
else:
self.flash = "Delete failed."
return False
if key not in {ord("y"), ord("Y")}:
return False
if not self.delete_fn(target["id"]):
self.flash = "Delete failed."
return False
self.sessions[:] = [s for s in self.sessions if s["id"] != target["id"]]
self._refilter(reset_cursor=False)
self.flash = "Deleted."
return not self.sessions
if key in (c.KEY_UP, c.KEY_DOWN):
if self.filtered:
self.cursor = (self.cursor + (1 if key == c.KEY_DOWN else -1)) % len(self.filtered)
@@ -167,9 +166,9 @@ class _CursesBrowser:
if self.filtered:
self.result = self.filtered[self.cursor]["id"]
return True
elif key == 27: # Esc: first clears the search, second exits
if not self.search:
return True
elif key == 27 and not self.search: # Esc: first clears the search, second exits
return True
elif key == 27:
self.search = ""
self._refilter()
elif key in {c.KEY_BACKSPACE, 127, 8}: