[core][graphIO] Add "template" as an explicit key

This commit is contained in:
Yann Lanthony 2025-02-06 16:46:04 +01:00
parent b07dd64c11
commit 1cf0fc95ba
2 changed files with 4 additions and 3 deletions

View file

@ -279,7 +279,7 @@ class Graph(BaseObject):
self.header = graphData.get(GraphIO.Keys.Header, {}) self.header = graphData.get(GraphIO.Keys.Header, {})
fileVersion = Version(self.header.get(GraphIO.Keys.FileVersion, "0.0")) fileVersion = Version(self.header.get(GraphIO.Keys.FileVersion, "0.0"))
graphContent = self._normalizeGraphContent(graphData, fileVersion) graphContent = self._normalizeGraphContent(graphData, fileVersion)
isTemplate = self.header.get("template", False) isTemplate = self.header.get(GraphIO.Keys.Template, False)
with GraphModification(self): with GraphModification(self):
# iterate over nodes sorted by suffix index in their names # iterate over nodes sorted by suffix index in their names
@ -337,7 +337,7 @@ class Graph(BaseObject):
# 3. fallback behavior: default to "0.0" # 3. fallback behavior: default to "0.0"
if "version" not in nodeData: if "version" not in nodeData:
nodeData["version"] = fromGraph._getNodeTypeVersionFromHeader(nodeData["nodeType"], "0.0") nodeData["version"] = fromGraph._getNodeTypeVersionFromHeader(nodeData["nodeType"], "0.0")
inTemplate = fromGraph.header.get("template", False) inTemplate = fromGraph.header.get(GraphIO.Keys.Template, False)
node = nodeFactory(nodeData, nodeName, inTemplate=inTemplate) node = nodeFactory(nodeData, nodeName, inTemplate=inTemplate)
self._addNode(node, nodeName) self._addNode(node, nodeName)
return node return node

View file

@ -24,6 +24,7 @@ class GraphIO:
ReleaseVersion = "releaseVersion" ReleaseVersion = "releaseVersion"
FileVersion = "fileVersion" FileVersion = "fileVersion"
Graph = "graph" Graph = "graph"
Template = "template"
class Features(Enum): class Features(Enum):
"""File Features.""" """File Features."""
@ -122,7 +123,7 @@ class TemplateGraphSerializer(GraphSerializer):
def serializeHeader(self) -> dict: def serializeHeader(self) -> dict:
header = super().serializeHeader() header = super().serializeHeader()
header["template"] = True header[GraphIO.Keys.Template] = True
return header return header
def serializeNode(self, node: Node) -> dict: def serializeNode(self, node: Node) -> dict: