diff --git a/nodes/2.x/CustomNode.Properties.dyf b/nodes/2.x/CustomNode.Properties.dyf index d0c38ea5..13cd01c4 100644 --- a/nodes/2.x/CustomNode.Properties.dyf +++ b/nodes/2.x/CustomNode.Properties.dyf @@ -19,7 +19,7 @@ { "Id": "fe11048093a84676924973a0f1431161", "Name": "file", - "Description": "var", + "Description": "Dateiobjekt, aus dem Text gelesen werden soll\n\nvar", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -29,8 +29,8 @@ "Outputs": [ { "Id": "5601dc081aea45a19fc486f47e3df8d1", - "Name": "str", - "Description": "Contents of the text file.", + "Name": "string", + "Description": "Inhalte der Textdatei.", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -38,7 +38,7 @@ } ], "Replication": "Auto", - "Description": "Reads a text file and returns the contents as a string.\n\nFileSystem.ReadText (file: var): string" + "Description": "Liest eine Textdatei und gibt die Inhalte als Zeichenfolge zurück.\n\nFileSystem.ReadText (file: var): string" }, { "ConcreteType": "CoreNodeModels.Input.FileObject, CoreNodeModels", @@ -67,7 +67,7 @@ } ], "Replication": "Disabled", - "Description": "Creates a file object from a path." + "Description": "Erstellt ein Dateiobjekt aus einem Pfad." }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Symbol, DynamoCore", @@ -93,7 +93,7 @@ } ], "Replication": "Disabled", - "Description": "A function parameter, use with custom nodes.\r\n\r\nYou can specify the type and default value for parameter. E.g.,\r\n\r\ninput : var[]..[]\r\nvalue : bool = false" + "Description": "Ein Funktionsparameter zur Verwendung mit benutzerdefinierten Blöcken.\r\n\r\nSie können den Typ und den Vorgabewert für den Parameter angeben, z. B.\r\n\r\ninput : var[]..[]\r\nvalue : bool = false" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -114,7 +114,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -135,7 +135,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -156,7 +156,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -177,7 +177,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -198,7 +198,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", @@ -220,7 +220,7 @@ { "Id": "f65dd190fc7d4001920cc82ddbe1daa9", "Name": "", - "Description": "Value of expression at line 1", + "Description": "Wert des Ausdrucks in Zeile 1", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -229,7 +229,7 @@ { "Id": "b5372cc5c804449391095c7af3d8cf3a", "Name": "", - "Description": "Value of expression at line 2", + "Description": "Wert des Ausdrucks in Zeile 2", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -238,7 +238,7 @@ { "Id": "fb4df4307946486b85074358bd626e55", "Name": "", - "Description": "Value of expression at line 3", + "Description": "Wert des Ausdrucks in Zeile 3", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -247,7 +247,7 @@ { "Id": "92ea5567684740d48c9e3fff77eb944f", "Name": "", - "Description": "Value of expression at line 4", + "Description": "Wert des Ausdrucks in Zeile 4", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -256,7 +256,7 @@ { "Id": "ea054269ee8c4b6f999abcb91b532207", "Name": "", - "Description": "Value of expression at line 5", + "Description": "Wert des Ausdrucks in Zeile 5", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -265,7 +265,7 @@ { "Id": "c273fc9f88cc4e7ab0534dc43519f387", "Name": "", - "Description": "Value of expression at line 6", + "Description": "Wert des Ausdrucks in Zeile 6", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -274,7 +274,7 @@ { "Id": "7639cc7df69d4656a9b17f0c75fc03c4", "Name": "", - "Description": "Value of expression at line 7", + "Description": "Wert des Ausdrucks in Zeile 7", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -283,7 +283,7 @@ { "Id": "56c7289d56de477d93910d98587f34bf", "Name": "", - "Description": "Value of expression at line 8", + "Description": "Wert des Ausdrucks in Zeile 8", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -292,7 +292,7 @@ { "Id": "949d5c0adcc34f9ca3a4001078b7c44d", "Name": "", - "Description": "Value of expression at line 9", + "Description": "Wert des Ausdrucks in Zeile 9", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -301,7 +301,7 @@ { "Id": "591ab86fcd864af592bd11d615ec7748", "Name": "", - "Description": "Value of expression at line 10", + "Description": "Wert des Ausdrucks in Zeile 10", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -310,7 +310,7 @@ { "Id": "6cb13dd01b81477f8c4cc2fe076ad966", "Name": "", - "Description": "Value of expression at line 11", + "Description": "Wert des Ausdrucks in Zeile 11", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -319,7 +319,7 @@ { "Id": "64c0f3651da34708b7269c67e04b9278", "Name": "", - "Description": "Value of expression at line 12", + "Description": "Wert des Ausdrucks in Zeile 12", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -328,7 +328,7 @@ { "Id": "537cf3b000bb4aa6b788c12fe3bf8e90", "Name": "", - "Description": "Value of expression at line 13", + "Description": "Wert des Ausdrucks in Zeile 13", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -337,7 +337,7 @@ { "Id": "3f1744193e1d4d068c58c10b201e265a", "Name": "", - "Description": "Value of expression at line 14", + "Description": "Wert des Ausdrucks in Zeile 14", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -346,7 +346,7 @@ { "Id": "33968f9fb38d4f14b7f36ab544502723", "Name": "", - "Description": "Value of expression at line 15", + "Description": "Wert des Ausdrucks in Zeile 15", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -355,7 +355,7 @@ { "Id": "a80bbb6bf0aa4e8ea27f8a9c866094d2", "Name": "", - "Description": "Value of expression at line 16", + "Description": "Wert des Ausdrucks in Zeile 16", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -364,7 +364,7 @@ { "Id": "60be979032094acbb375c2f43a428128", "Name": "", - "Description": "Value of expression at line 17", + "Description": "Wert des Ausdrucks in Zeile 17", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, @@ -372,7 +372,7 @@ } ], "Replication": "Disabled", - "Description": "Allows for DesignScript code to be authored directly" + "Description": "Ermöglicht die direkte Erstellung von DesignScript-Code." }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -393,7 +393,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -414,7 +414,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -435,7 +435,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -456,7 +456,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -477,7 +477,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -498,7 +498,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -519,7 +519,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -540,7 +540,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -561,7 +561,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -582,7 +582,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -603,7 +603,7 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore", @@ -624,12 +624,13 @@ ], "Outputs": [], "Replication": "Disabled", - "Description": "A function output, use with custom nodes" + "Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken" }, { "ConcreteType": "PythonNodeModels.PythonNode, PythonNodeModels", "NodeType": "PythonScriptNode", - "Code": "import clr\r\nimport sys\r\npyt_path = r'C:\\Program Files (x86)\\IronPython 2.7\\Lib'\r\nsys.path.append(pyt_path)\r\nimport xml.etree.ElementTree as ET\r\nimport json\r\n\r\nclass CustomNode:\r\n\tdef __init__(self):\r\n\t\tself.Version = None\r\n\t\tself.Name = None\r\n\t\tself.ID = None\r\n\t\tself.Description = None\r\n\t\tself.Category = None\r\n\t\tself.VisibleInLibrary = True\r\n\t\tself.Inputs = []\r\n\t\tself.InputDescriptions = []\r\n\t\tself.InputDataTypes = []\r\n\t\tself.InputDefaultValues = []\r\n\t\tself.Outputs = []\r\n\t\tself.OutputDescriptions = []\r\n\t\tself.PythonScripts = []\r\n\t\tself.NestedCustomNodes = []\r\n\t\tself.CustomNodesCount = []\r\n\t\tself.NestedBuiltinNodes = []\r\n\t\tself.BuiltinNodesCount = []\t\t\r\n\tdef ByJSON(self, str):\r\n\t\tdata = json.loads(str)\r\n\t\tself.Version = data['View']['Dynamo']['Version']\r\n\t\tself.Name = data['Name']\r\n\t\tself.ID = data['Uuid']\r\n\t\tself.Description = data['Description']\r\n\t\tself.Category = data['Category']\r\n\t\tself.VisibleInLibrary = data['View']['Dynamo']['IsVisibleInDynamoLibrary']\r\n\t\tfor node in data['Nodes']:\r\n\t\t\tif node['NodeType'] == \"InputNode\":\r\n\t\t\t\tself.Inputs.append(node['Parameter']['Name'])\r\n\t\t\t\tself.InputDescriptions.append(node['Parameter']['Description'].strip())\r\n\t\t\t\tself.InputDataTypes.append(node['Parameter']['TypeName'])\r\n\t\t\t\tif node['Parameter']['DefaultValue']: self.InputDefaultValues.append(node['Parameter']['DefaultValue'])\r\n\t\t\t\telse: self.InputDefaultValues.append('')\r\n\t\t\telif node['NodeType'] == \"OutputNode\":\r\n\t\t\t\toutputdef = node['Symbol'].split('\\r\\n')\r\n\t\t\t\tself.Outputs.append(outputdef[-1])\r\n\t\t\t\toutputdef2 = ''\r\n\t\t\t\tif len(outputdef) > 1: \r\n\t\t\t\t\tfor line in outputdef[:-1]: outputdef2 += line[2:].strip() + \" \"\r\n\t\t\t\tself.OutputDescriptions.append(outputdef2)\r\n\t\t\telif node['NodeType'] == 'PythonScriptNode': self.PythonScripts.append(node['Code'])\r\n\t\t\telif node['NodeType'] == 'FunctionNode' and node['Concrete'+'Type'] == 'Dynamo.Graph.Nodes.CustomNodes.Function, DynamoCore':\r\n\t\t\t\tcustomnodename = data['View']['NodeViews'][data['Nodes'].index(node)]['Name']\r\n\t\t\t\tif customnodename not in self.NestedCustomNodes:\r\n\t\t\t\t\tself.NestedCustomNodes.append(data['View']['NodeViews'][data['Nodes'].index(node)]['Name'])\r\n\t\t\t\t\tself.CustomNodesCount.append(1)\r\n\t\t\t\telse: self.CustomNodesCount[self.NestedCustomNodes.index(customnodename)] += 1\r\n\t\t\telse:\r\n\t\t\t\tbuiltinnodename = data['View']['NodeViews'][data['Nodes'].index(node)]['Name']\r\n\t\t\t\tif builtinnodename not in self.NestedBuiltinNodes:\r\n\t\t\t\t\tself.NestedBuiltinNodes.append(data['View']['NodeViews'][data['Nodes'].index(node)]['Name'])\r\n\t\t\t\t\tself.BuiltinNodesCount.append(1)\r\n\t\t\t\telse: self.BuiltinNodesCount[self.NestedBuiltinNodes.index(builtinnodename)] += 1\t\t\t\r\n\tdef ByXML(self, str):\r\n\t\troot = ET.fromstring(str)\r\n\t\tself.Version = root.get(\"Version\")\r\n\t\tself.Name = root.get(\"Name\")\r\n\t\tself.ID = root.get(\"ID\")\r\n\t\tself.Description = root.get(\"Description\")\r\n\t\tself.Category = root.get(\"Category\")\r\n\t\tisvisible = root.get(\"IsVisibleInDynamoLibrary\")\r\n\t\tif isvisible: self.VisibleInLibrary = isvisible\t\t\r\n\t\tfor child in root:\r\n\t\t\tif child.tag == \"Elements\":\r\n\t\t\t\tfor element in child:\r\n\t\t\t\t\tif element.tag == \"Dynamo.Nodes.Symbol\" or element.tag == \"Dynamo.Graph.Nodes.CustomNodes.Symbol\":\r\n\t\t\t\t\t\tfor symbol in element:\r\n\t\t\t\t\t\t\tinputdef = symbol.get(\"value\")\r\n\t\t\t\t\t\t\tinputdef2 = inputdef.split(\":\")\r\n\t\t\t\t\t\t\tif inputdef2[0].startswith('//'):\r\n\t\t\t\t\t\t\t\tinputdef4 = inputdef2[0].splitlines()\r\n\t\t\t\t\t\t\t\tself.Inputs.append(inputdef4[-1].strip())\r\n\t\t\t\t\t\t\t\tself.InputDescriptions.append(inputdef4[0][2:].strip())\r\n\t\t\t\t\t\t\telse:\r\n\t\t\t\t\t\t\t\tself.Inputs.append(inputdef2[0].strip())\r\n\t\t\t\t\t\t\t\tself.InputDescriptions.append(\"\")\r\n\t\t\t\t\t\t\tif len(inputdef2) > 1:\r\n\t\t\t\t\t\t\t\tinputdef3 = inputdef2[1].split(\"=\")\r\n\t\t\t\t\t\t\t\tself.InputDataTypes.append(inputdef3[0].strip())\r\n\t\t\t\t\t\t\t\tif len(inputdef3) > 1: self.InputDefaultValues.append(inputdef3[1].strip())\r\n\t\t\t\t\t\t\t\telse: self.InputDefaultValues.append(\"\")\r\n\t\t\t\t\t\t\telse:\r\n\t\t\t\t\t\t\t\tself.InputDataTypes.append(\"\")\r\n\t\t\t\t\t\t\t\tself.InputDefaultValues.append(\"\")\r\n\t\t\t\t\telif element.tag == \"Dynamo.Nodes.Output\" or element.tag == \"Dynamo.Graph.Nodes.CustomNodes.Output\":\r\n\t\t\t\t\t\tfor symbol in element:\r\n\t\t\t\t\t\t\toutputdef = symbol.get(\"value\")\r\n\t\t\t\t\t\t\tif outputdef != None:\r\n\t\t\t\t\t\t\t\tif outputdef.startswith('//'):\r\n\t\t\t\t\t\t\t\t\toutputdef2 = outputdef.splitlines()\r\n\t\t\t\t\t\t\t\t\tself.Outputs.append(outputdef2[-1].strip())\r\n\t\t\t\t\t\t\t\t\tself.OutputDescriptions.append(outputdef2[0][2:].strip())\r\n\t\t\t\t\t\t\t\telse:\r\n\t\t\t\t\t\t\t\t\tself.Outputs.append(outputdef.strip())\r\n\t\t\t\t\t\t\t\t\tself.OutputDescriptions.append(\"\")\r\n\t\t\t\t\telif element.tag == \"DSIronPythonNode.PythonNode\" or element.tag == \"PythonNodeModels.PythonNode\":\r\n\t\t\t\t\t\tfor script in element:\r\n\t\t\t\t\t\t\tif script.text != None: self.PythonScripts.append(script.text)\r\n\t\t\t\t\telif element.tag == \"Dynamo.Nodes.Function\" or element.tag == \"Dynamo.Graph.Nodes.CustomNodes.Function\":\r\n\t\t\t\t\t\tif element.get(\"nickname\") in self.NestedCustomNodes:\r\n\t\t\t\t\t\t\tself.CustomNodesCount[self.NestedCustomNodes.index(element.get(\"nickname\"))] += 1\r\n\t\t\t\t\t\telse:\r\n\t\t\t\t\t\t\tself.NestedCustomNodes.append(element.get(\"nickname\"))\r\n\t\t\t\t\t\t\tself.CustomNodesCount.append(1)\r\n\t\t\t\t\telse:\r\n\t\t\t\t\t\tif element.get(\"nickname\") in self.NestedBuiltinNodes:\r\n\t\t\t\t\t\t\tself.BuiltinNodesCount[self.NestedBuiltinNodes.index(element.get(\"nickname\"))] += 1\r\n\t\t\t\t\t\telse:\r\n\t\t\t\t\t\t\tself.NestedBuiltinNodes.append(element.get(\"nickname\"))\r\n\t\t\t\t\t\t\tself.BuiltinNodesCount.append(1)\r\n\r\ndef CustomNodeByFormat(str):\r\n\tCN = CustomNode()\r\n\tif str.startswith(\" 1: \r\n\t\t\t\t\tfor line in outputdef[:-1]: outputdef2 += line[2:].strip() + \" \"\r\n\t\t\t\tself.OutputDescriptions.append(outputdef2)\r\n\t\t\telif node['NodeType'] == 'PythonScriptNode': self.PythonScripts.append(node['Code'])\r\n\t\t\telif node['NodeType'] == 'FunctionNode' and node['Concrete'+'Type'] == 'Dynamo.Graph.Nodes.CustomNodes.Function, DynamoCore':\r\n\t\t\t\tcustomnodename = data['View']['NodeViews'][data['Nodes'].index(node)]['Name']\r\n\t\t\t\tif customnodename not in self.NestedCustomNodes:\r\n\t\t\t\t\tself.NestedCustomNodes.append(data['View']['NodeViews'][data['Nodes'].index(node)]['Name'])\r\n\t\t\t\t\tself.CustomNodesCount.append(1)\r\n\t\t\t\telse: self.CustomNodesCount[self.NestedCustomNodes.index(customnodename)] += 1\r\n\t\t\telse:\r\n\t\t\t\tbuiltinnodename = data['View']['NodeViews'][data['Nodes'].index(node)]['Name']\r\n\t\t\t\tif builtinnodename not in self.NestedBuiltinNodes:\r\n\t\t\t\t\tself.NestedBuiltinNodes.append(data['View']['NodeViews'][data['Nodes'].index(node)]['Name'])\r\n\t\t\t\t\tself.BuiltinNodesCount.append(1)\r\n\t\t\t\telse: self.BuiltinNodesCount[self.NestedBuiltinNodes.index(builtinnodename)] += 1\t\t\t\r\n\tdef ByXML(self, str):\r\n\t\troot = ET.fromstring(str)\r\n\t\tself.Version = root.get(\"Version\")\r\n\t\tself.Name = root.get(\"Name\")\r\n\t\tself.ID = root.get(\"ID\")\r\n\t\tself.Description = root.get(\"Description\")\r\n\t\tself.Category = root.get(\"Category\")\r\n\t\tisvisible = root.get(\"IsVisibleInDynamoLibrary\")\r\n\t\tif isvisible: self.VisibleInLibrary = isvisible\t\t\r\n\t\tfor child in root:\r\n\t\t\tif child.tag == \"Elements\":\r\n\t\t\t\tfor element in child:\r\n\t\t\t\t\tif element.tag == \"Dynamo.Nodes.Symbol\" or element.tag == \"Dynamo.Graph.Nodes.CustomNodes.Symbol\":\r\n\t\t\t\t\t\tfor symbol in element:\r\n\t\t\t\t\t\t\tinputdef = symbol.get(\"value\")\r\n\t\t\t\t\t\t\tinputdef2 = inputdef.split(\":\")\r\n\t\t\t\t\t\t\tif inputdef2[0].startswith('//'):\r\n\t\t\t\t\t\t\t\tinputdef4 = inputdef2[0].splitlines()\r\n\t\t\t\t\t\t\t\tself.Inputs.append(inputdef4[-1].strip())\r\n\t\t\t\t\t\t\t\tself.InputDescriptions.append(inputdef4[0][2:].strip())\r\n\t\t\t\t\t\t\telse:\r\n\t\t\t\t\t\t\t\tself.Inputs.append(inputdef2[0].strip())\r\n\t\t\t\t\t\t\t\tself.InputDescriptions.append(\"\")\r\n\t\t\t\t\t\t\tif len(inputdef2) > 1:\r\n\t\t\t\t\t\t\t\tinputdef3 = inputdef2[1].split(\"=\")\r\n\t\t\t\t\t\t\t\tself.InputDataTypes.append(inputdef3[0].strip())\r\n\t\t\t\t\t\t\t\tif len(inputdef3) > 1: self.InputDefaultValues.append(inputdef3[1].strip())\r\n\t\t\t\t\t\t\t\telse: self.InputDefaultValues.append(\"\")\r\n\t\t\t\t\t\t\telse:\r\n\t\t\t\t\t\t\t\tself.InputDataTypes.append(\"\")\r\n\t\t\t\t\t\t\t\tself.InputDefaultValues.append(\"\")\r\n\t\t\t\t\telif element.tag == \"Dynamo.Nodes.Output\" or element.tag == \"Dynamo.Graph.Nodes.CustomNodes.Output\":\r\n\t\t\t\t\t\tfor symbol in element:\r\n\t\t\t\t\t\t\toutputdef = symbol.get(\"value\")\r\n\t\t\t\t\t\t\tif outputdef != None:\r\n\t\t\t\t\t\t\t\tif outputdef.startswith('//'):\r\n\t\t\t\t\t\t\t\t\toutputdef2 = outputdef.splitlines()\r\n\t\t\t\t\t\t\t\t\tself.Outputs.append(outputdef2[-1].strip())\r\n\t\t\t\t\t\t\t\t\tself.OutputDescriptions.append(outputdef2[0][2:].strip())\r\n\t\t\t\t\t\t\t\telse:\r\n\t\t\t\t\t\t\t\t\tself.Outputs.append(outputdef.strip())\r\n\t\t\t\t\t\t\t\t\tself.OutputDescriptions.append(\"\")\r\n\t\t\t\t\telif element.tag == \"DSIronPythonNode.PythonNode\" or element.tag == \"PythonNodeModels.PythonNode\":\r\n\t\t\t\t\t\tfor script in element:\r\n\t\t\t\t\t\t\tif script.text != None: self.PythonScripts.append(script.text)\r\n\t\t\t\t\telif element.tag == \"Dynamo.Nodes.Function\" or element.tag == \"Dynamo.Graph.Nodes.CustomNodes.Function\":\r\n\t\t\t\t\t\tif element.get(\"nickname\") in self.NestedCustomNodes:\r\n\t\t\t\t\t\t\tself.CustomNodesCount[self.NestedCustomNodes.index(element.get(\"nickname\"))] += 1\r\n\t\t\t\t\t\telse:\r\n\t\t\t\t\t\t\tself.NestedCustomNodes.append(element.get(\"nickname\"))\r\n\t\t\t\t\t\t\tself.CustomNodesCount.append(1)\r\n\t\t\t\t\telse:\r\n\t\t\t\t\t\tif element.get(\"nickname\") in self.NestedBuiltinNodes:\r\n\t\t\t\t\t\t\tself.BuiltinNodesCount[self.NestedBuiltinNodes.index(element.get(\"nickname\"))] += 1\r\n\t\t\t\t\t\telse:\r\n\t\t\t\t\t\t\tself.NestedBuiltinNodes.append(element.get(\"nickname\"))\r\n\t\t\t\t\t\t\tself.BuiltinNodesCount.append(1)\r\n\r\ndef CustomNodeByFormat(str):\r\n\tCN = CustomNode()\r\n\tif str.startswith(\"