diff --git a/pyproject.toml b/pyproject.toml index 28d7cf4..69b1ba2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" [project] name = "pixeltable-pgserver" -version = "0.5.1" +version = "0.6.0" description = "Embedded Postgres Server for Pixeltable" authors = [{ name = "Pixeltable, Inc.", email = "contact@pixeltable.com" }] requires-python = ">=3.10" diff --git a/src/pixeltable_pgserver/utils.py b/src/pixeltable_pgserver/utils.py index ba2d5f8..2a6a911 100644 --- a/src/pixeltable_pgserver/utils.py +++ b/src/pixeltable_pgserver/utils.py @@ -214,7 +214,7 @@ def __init__(self, path: Path): self.path = path def get_and_add(self, value: int) -> list[int]: - old_values = self.get() + old_values = self._get() values = old_values.copy() if value not in values: values.append(value) @@ -222,17 +222,20 @@ def get_and_add(self, value: int) -> list[int]: return old_values def get_and_remove(self, value: int) -> list[int]: - old_values = self.get() + old_values = self._get() values = old_values.copy() if value in values: values.remove(value) self.put(values) return old_values - def get(self) -> list[int]: + def _get(self) -> list[int]: if not self.path.exists(): return [] - return json.loads(self.path.read_text()) + text = self.path.read_text().strip() + if not text: + return [] + return json.loads(text) def put(self, values: list[int]) -> None: self.path.write_text(json.dumps(values))