From 08f69007c91046e9a704c1fde734a0baa6ad2ab7 Mon Sep 17 00:00:00 2001 From: cybermaggedon Date: Mon, 6 Jul 2026 10:47:24 +0100 Subject: [PATCH] fix: handle missing time field in library API document/processing responses (#1028) Documents and processing records without a stored time field caused a KeyError crash in get_documents and list_children. Use optional access so time resolves to None instead of failing. --- trustgraph-base/trustgraph/api/library.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/trustgraph-base/trustgraph/api/library.py b/trustgraph-base/trustgraph/api/library.py index b3506bb7..1e87ed6e 100644 --- a/trustgraph-base/trustgraph/api/library.py +++ b/trustgraph-base/trustgraph/api/library.py @@ -363,7 +363,7 @@ class Library: return [ DocumentMetadata( id = v["id"], - time = datetime.datetime.fromtimestamp(v["time"]), + time = datetime.datetime.fromtimestamp(v["time"]) if "time" in v else None, kind = v["kind"], title = v.get("title", ""), comments = v.get("comments", ""), @@ -678,7 +678,7 @@ class Library: ProcessingMetadata( id = v["id"], document_id = v["document-id"], - time = datetime.datetime.fromtimestamp(v["time"]), + time = datetime.datetime.fromtimestamp(v["time"]) if "time" in v else None, flow = v["flow"], collection = v["collection"], tags = v["tags"], @@ -983,7 +983,7 @@ class Library: return [ DocumentMetadata( id=v["id"], - time=datetime.datetime.fromtimestamp(v["time"]), + time=datetime.datetime.fromtimestamp(v["time"]) if "time" in v else None, kind=v["kind"], title=v["title"], comments=v.get("comments", ""),