Compare commits
1 Commits
fix/delete
...
feat/dag-a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fb658c5a24 |
@@ -902,3 +902,42 @@ class SiloClient:
|
|||||||
self, ods_bytes: bytes, filename: str = "sheet.ods"
|
self, ods_bytes: bytes, filename: str = "sheet.ods"
|
||||||
) -> Dict[str, Any]:
|
) -> Dict[str, Any]:
|
||||||
return self._upload_ods("/sheets/diff", ods_bytes, filename)
|
return self._upload_ods("/sheets/diff", ods_bytes, filename)
|
||||||
|
|
||||||
|
# -- DAG (feature tree) -------------------------------------------------
|
||||||
|
|
||||||
|
def push_dag(
|
||||||
|
self,
|
||||||
|
part_number: str,
|
||||||
|
revision_number: int,
|
||||||
|
nodes: List[Dict[str, Any]],
|
||||||
|
edges: List[Dict[str, Any]],
|
||||||
|
) -> Dict[str, Any]:
|
||||||
|
"""Push a feature DAG to the server.
|
||||||
|
|
||||||
|
Calls ``PUT /api/items/{partNumber}/dag`` with the payload
|
||||||
|
described in ``MULTI_USER_CLIENT.md`` Section 2.
|
||||||
|
"""
|
||||||
|
pn = urllib.parse.quote(part_number, safe="")
|
||||||
|
return self._request(
|
||||||
|
"PUT",
|
||||||
|
f"/items/{pn}/dag",
|
||||||
|
{
|
||||||
|
"revision_number": revision_number,
|
||||||
|
"nodes": nodes,
|
||||||
|
"edges": edges,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
def get_dag(
|
||||||
|
self, part_number: str, revision_number: Optional[int] = None
|
||||||
|
) -> Dict[str, Any]:
|
||||||
|
"""Fetch the stored DAG for an item.
|
||||||
|
|
||||||
|
Calls ``GET /api/items/{partNumber}/dag``, optionally filtered
|
||||||
|
by *revision_number*.
|
||||||
|
"""
|
||||||
|
pn = urllib.parse.quote(part_number, safe="")
|
||||||
|
path = f"/items/{pn}/dag"
|
||||||
|
if revision_number is not None:
|
||||||
|
path += f"?revision={revision_number}"
|
||||||
|
return self._request("GET", path)
|
||||||
|
|||||||
Reference in New Issue
Block a user