diff --git a/src/blackboard/queries.py b/src/blackboard/queries.py index c974622..20c9fcc 100644 --- a/src/blackboard/queries.py +++ b/src/blackboard/queries.py @@ -51,7 +51,10 @@ class Queries: ).fetchall() result = [] for r in rows: - deps = json.loads(r["depends_on"] or "[]") + try: + deps = json.loads(r["depends_on"] or "[]") + except (json.JSONDecodeError, TypeError): + deps = [] if deps: dep_rows = conn.execute( f"SELECT id, status FROM tasks WHERE id IN ({','.join('?' * len(deps))})", @@ -94,7 +97,10 @@ class Queries: ).fetchall() result = [] for r in rows: - deps = json.loads(r["depends_on"] or "[]") + try: + deps = json.loads(r["depends_on"] or "[]") + except (json.JSONDecodeError, TypeError): + deps = [] if not deps: result.append(Task.from_row(r)) continue