fix bib/sync.py: use ISO 8601 date format for Zotero timestamps
_now_iso() produced '2026-02-09 18:13:55' but Zotero requires '2026-02-09T18:13:55Z'. Fixed 9071 dateAdded/dateModified and 345 accessDate values in the live database.
This commit is contained in:
@@ -72,7 +72,7 @@ def _zotero_key() -> str:
|
|||||||
|
|
||||||
|
|
||||||
def _now_iso() -> str:
|
def _now_iso() -> str:
|
||||||
return datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S")
|
return datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
|
||||||
|
|
||||||
|
|
||||||
def _ensure_value(con: sqlite3.Connection, value: str) -> int:
|
def _ensure_value(con: sqlite3.Connection, value: str) -> int:
|
||||||
|
|||||||
@@ -106,8 +106,9 @@ class TestZoteroKey:
|
|||||||
class TestNowIso:
|
class TestNowIso:
|
||||||
def test_format(self) -> None:
|
def test_format(self) -> None:
|
||||||
result = _now_iso()
|
result = _now_iso()
|
||||||
assert len(result) == 19 # "YYYY-MM-DD HH:MM:SS"
|
assert len(result) == 20 # "YYYY-MM-DDTHH:MM:SSZ"
|
||||||
assert " " in result
|
assert "T" in result
|
||||||
|
assert result.endswith("Z")
|
||||||
|
|
||||||
|
|
||||||
# ── _ensure_value ───────────────────────────────────────────────────
|
# ── _ensure_value ───────────────────────────────────────────────────
|
||||||
|
|||||||
Reference in New Issue
Block a user