758 lines
215 KiB
Plaintext
758 lines
215 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Setup"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Open Alteryx XML into a string \n",
|
|
"import polars as pl \n",
|
|
"import xml.etree.ElementTree as ET\n",
|
|
"\n",
|
|
"xml_file_path = \"./SimpleWorkflow/SimpleWorkflow.yxmd\"\n",
|
|
"tree = ET.parse(xml_file_path)\n",
|
|
"root = tree.getroot()\n",
|
|
"\n",
|
|
"xml_string = ET.tostring(root, encoding='unicode')\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"('1', 'TextInput (1)', '<Node ToolID=\"1\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.TextInput.TextInput\">\\n <Position x=\"54\" y=\"54\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <NumRows value=\"3\" />\\n <Fields>\\n <Field name=\"Column1\" />\\n <Field name=\"Column 2\" />\\n </Fields>\\n <Data>\\n <r>\\n <c>1</c>\\n <c>4</c>\\n </r>\\n <r>\\n <c>2</c>\\n <c>5</c>\\n </r>\\n <r>\\n <c>3</c>\\n <c>6</c>\\n </r>\\n </Data>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxTextInput\" />\\n </Node>\\n ')\n",
|
|
"('2', 'AlteryxSelect (2)', '<Node ToolID=\"2\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect\">\\n <Position x=\"186\" y=\"54\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <OrderChanged value=\"False\" />\\n <CommaDecimal value=\"False\" />\\n <SelectFields>\\n <SelectField field=\"Column1\" selected=\"True\" type=\"Int64\" size=\"8\" />\\n <SelectField field=\"Column 2\" selected=\"False\" type=\"WString\" size=\"3\" />\\n <SelectField field=\"*Unknown\" selected=\"False\" />\\n </SelectFields>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxSelect\" />\\n </Node>\\n ')\n",
|
|
"('3', 'BrowseV2 (3)', '<Node ToolID=\"3\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"318\" y=\"54\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_9b8a61f4c39b2e4ea05f98886a386376~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout>\\n <View1>\\n <Hints>\\n <Table />\\n </Hints>\\n </View1>\\n </Layout>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n",
|
|
"('4', 'TextInput (4)', '<Node ToolID=\"4\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.TextInput.TextInput\">\\n <Position x=\"54\" y=\"246\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <NumRows value=\"3\" />\\n <Fields>\\n <Field name=\"Column 3\" />\\n <Field name=\"Column 4\" />\\n <Field name=\"Ham\" />\\n <Field name=\"Cheese\" />\\n </Fields>\\n <Data>\\n <r>\\n <c>5</c>\\n <c>8</c>\\n <c>z</c>\\n <c>a</c>\\n </r>\\n <r>\\n <c>6</c>\\n <c>9</c>\\n <c>b</c>\\n <c>d</c>\\n </r>\\n <r>\\n <c>7</c>\\n <c>10</c>\\n <c>c</c>\\n <c>c</c>\\n </r>\\n </Data>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxTextInput\" />\\n </Node>\\n ')\n",
|
|
"('5', 'AlteryxSelect (5)', '<Node ToolID=\"5\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect\">\\n <Position x=\"426\" y=\"390\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <OrderChanged value=\"False\" />\\n <CommaDecimal value=\"False\" />\\n <SelectFields>\\n <SelectField field=\"Column 3\" selected=\"True\" rename=\"Col_3_renamed\" />\\n <SelectField field=\"Column 4\" selected=\"False\" />\\n <SelectField field=\"*Unknown\" selected=\"True\" />\\n </SelectFields>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxSelect\" />\\n </Node>\\n ')\n",
|
|
"('6', 'Formula (6)', '<Node ToolID=\"6\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.Formula.Formula\">\\n <Position x=\"354\" y=\"474\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <FormulaFields>\\n <FormulaField expression=\"[Count] + 10\" field=\"MoreCount\" size=\"4\" type=\"Int32\" />\\n </FormulaFields>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText>MoreCount = [Count] + 10\\n</DefaultAnnotationText>\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxFormula\" />\\n </Node>\\n ')\n",
|
|
"('7', 'Join (7)', '<Node ToolID=\"7\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.Join.Join\">\\n <Position x=\"522\" y=\"402\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration joinByRecordPos=\"False\">\\n <JoinInfo connection=\"Left\">\\n <Field field=\"Ham\" />\\n <Field field=\"Cheese\" />\\n </JoinInfo>\\n <JoinInfo connection=\"Right\">\\n <Field field=\"Ham\" />\\n <Field field=\"Cheese\" />\\n </JoinInfo>\\n <SelectConfiguration>\\n <Configuration outputConnection=\"Join\">\\n <OrderChanged value=\"False\" />\\n <CommaDecimal value=\"False\" />\\n <SelectFields>\\n <SelectField field=\"Right_Ham\" selected=\"True\" rename=\"Right_Ham\" input=\"Right_\" />\\n <SelectField field=\"Right_Cheese\" selected=\"True\" rename=\"Right_Cheese\" input=\"Right_\" />\\n <SelectField field=\"Right_Column 3\" selected=\"True\" rename=\"Right_Column 3\" input=\"Right_\" type=\"V_String\" size=\"11\" />\\n <SelectField field=\"Right_Column 4\" selected=\"True\" rename=\"Right_Column 4\" input=\"Right_\" type=\"Int64\" size=\"8\" />\\n <SelectField field=\"*Unknown\" selected=\"True\" />\\n </SelectFields>\\n </Configuration>\\n </SelectConfiguration>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxJoin\" />\\n </Node>\\n ')\n",
|
|
"('10', 'BrowseV2 (10)', '<Node ToolID=\"10\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"618\" y=\"486\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_c1d268f486209c40bdc02a676a529ee0~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout>\\n <View1>\\n <Hints>\\n <Table />\\n </Hints>\\n </View1>\\n </Layout>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n",
|
|
"('11', 'Formula (11)', '<Node ToolID=\"11\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.Formula.Formula\">\\n <Position x=\"450\" y=\"618\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <FormulaFields>\\n <FormulaField expression=\"[Engine.TempFilePath]\" field=\"Path\" size=\"1073741823\" type=\"V_WString\" />\\n </FormulaFields>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText>Path = [Engine.TempFilePath]\\n</DefaultAnnotationText>\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxFormula\" />\\n </Node>\\n ')\n",
|
|
"('12', 'Sample (12)', '<Node ToolID=\"12\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.Sample.Sample\">\\n <Position x=\"330\" y=\"618\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <Mode>First</Mode>\\n <N>1</N>\\n <GroupFields orderChanged=\"False\" />\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText>First 1</DefaultAnnotationText>\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxSample\" />\\n </Node>\\n ')\n",
|
|
"('13', 'BrowseV2 (13)', '<Node ToolID=\"13\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"546\" y=\"618\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_4d6ee2d9de8fac4095ab55a2bceed63e~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout>\\n <View1>\\n <Hints>\\n <Table />\\n </Hints>\\n </View1>\\n </Layout>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n",
|
|
"('14', 'DbFileOutput (14)', '<Node ToolID=\"14\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.DbFileOutput.DbFileOutput\">\\n <Position x=\"702\" y=\"402\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <File MaxRecords=\"\" FileFormat=\"0\">.\\\\SimpleWorkflowOut.csv</File>\\n <Passwords />\\n <FormatSpecificOptions>\\n <LineEndStyle>CRLF</LineEndStyle>\\n <Delimeter>,</Delimeter>\\n <ForceQuotes>False</ForceQuotes>\\n <HeaderRow>True</HeaderRow>\\n <CodePage>28591</CodePage>\\n <WriteBOM>True</WriteBOM>\\n </FormatSpecificOptions>\\n <MultiFile value=\"False\" />\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText>SimpleWorkflowOut.csv</DefaultAnnotationText>\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxDbFileOutput\" />\\n </Node>\\n ')\n",
|
|
"('15', 'TextInput (15)', '<Node ToolID=\"15\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.TextInput.TextInput\">\\n <Position x=\"54\" y=\"330\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <NumRows value=\"3\" />\\n <Fields>\\n <Field name=\"Ham\" />\\n <Field name=\"Cheese\" />\\n <Field name=\"Count\" />\\n </Fields>\\n <Data>\\n <r>\\n <c>a</c>\\n <c>a</c>\\n <c>4</c>\\n </r>\\n <r>\\n <c>b</c>\\n <c>d</c>\\n <c>6</c>\\n </r>\\n <r>\\n <c>c</c>\\n <c>z</c>\\n <c>7</c>\\n </r>\\n </Data>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxTextInput\" />\\n </Node>\\n ')\n",
|
|
"('16', 'HamCheeseJoin', '<Node ToolID=\"16\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.Join.Join\">\\n <Position x=\"306\" y=\"198\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration joinByRecordPos=\"False\">\\n <JoinInfo connection=\"Left\">\\n <Field field=\"Ham\" />\\n <Field field=\"Cheese\" />\\n </JoinInfo>\\n <JoinInfo connection=\"Right\">\\n <Field field=\"Ham\" />\\n <Field field=\"Cheese\" />\\n </JoinInfo>\\n <SelectConfiguration>\\n <Configuration outputConnection=\"Join\">\\n <OrderChanged value=\"False\" />\\n <CommaDecimal value=\"False\" />\\n <SelectFields>\\n <SelectField field=\"Right_Ham\" selected=\"True\" rename=\"Right_Ham\" input=\"Right_\" />\\n <SelectField field=\"Right_Cheese\" selected=\"True\" rename=\"Right_Cheese\" input=\"Right_\" />\\n <SelectField field=\"*Unknown\" selected=\"True\" />\\n </SelectFields>\\n </Configuration>\\n </SelectConfiguration>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name>HamCheeseJoin</Name>\\n <DefaultAnnotationText>HamCheeseJoin</DefaultAnnotationText>\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxJoin\" />\\n </Node>\\n ')\n",
|
|
"('17', 'BrowseV2 (17)', '<Node ToolID=\"17\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"402\" y=\"114\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_e692dab3020ec84ebe69a5de3e6990c9~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout />\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n",
|
|
"('18', 'BrowseV2 (18)', '<Node ToolID=\"18\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"402\" y=\"198\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_83aac5fa43df8044b1161f8298a2a180~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout />\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n",
|
|
"('19', 'BrowseV2 (19)', '<Node ToolID=\"19\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"402\" y=\"294\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_c2ab20e4f5222342bc00e6424dbc38bd~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout>\\n <View1>\\n <Hints>\\n <Table />\\n </Hints>\\n </View1>\\n </Layout>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Parse out nodes (tool data) into a dict\n",
|
|
"def extract_tool_id_and_contents(xml_string):\n",
|
|
" root = ET.fromstring(xml_string)\n",
|
|
" results = []\n",
|
|
" for node in root.iter('Node'):\n",
|
|
" tool_type = node.find('GuiSettings').get('Plugin').split('.')[-1]\n",
|
|
" # print('tool type:',tool_type)\n",
|
|
" tool_id = node.attrib.get('ToolID')\n",
|
|
"\n",
|
|
" tool_name = node.find('Properties/Annotation/Name').text\n",
|
|
" if not tool_name:\n",
|
|
" tool_name = tool_type + \" (\" + tool_id + \")\"\n",
|
|
"\n",
|
|
" content = ET.tostring(node, encoding='unicode')\n",
|
|
" results.append((tool_id, tool_name, content))\n",
|
|
" return results\n",
|
|
"\n",
|
|
"results = extract_tool_id_and_contents(xml_string)\n",
|
|
"\n",
|
|
"\n",
|
|
"for tool in results:\n",
|
|
" print(tool)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Tool Functions"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def tool_select(col_spec: dict):\n",
|
|
" \"\"\" Generates select tool code\"\"\"\n",
|
|
" dynamic_code = \"df_output = df.with_columns(\\n\"\n",
|
|
" dynamic_code_suffix = ''\n",
|
|
" for old_name, (new_name, type, selected) in col_spec.items():\n",
|
|
"\n",
|
|
" if old_name == '*Unknown':\n",
|
|
" break \n",
|
|
" \n",
|
|
" if new_name:\n",
|
|
" alias = f\".alias('{new_name}')\"\n",
|
|
" dynamic_code_suffix += f\"df_output = df_output.drop(f'{old_name}')\\n\"\n",
|
|
" else:\n",
|
|
" alias = ''\n",
|
|
"\n",
|
|
" if type is not None:\n",
|
|
" if 'Int' in type:\n",
|
|
" cast = f\".cast(pl.{pl.Int64})\"\n",
|
|
" elif 'String' in type:\n",
|
|
" cast = f\".cast(pl.{pl.String})\"\n",
|
|
" else:\n",
|
|
" cast = ''\n",
|
|
"\n",
|
|
" if selected != 'False':\n",
|
|
" dynamic_code += f\"df.select(pl.col(f'{old_name}'){cast}{alias}),\\n\"\n",
|
|
" else:\n",
|
|
" dynamic_code_suffix += f\"df_output = df_output.drop(f'{old_name}')\\n\"\n",
|
|
"\n",
|
|
" dynamic_code += \")\\n\" + dynamic_code_suffix\n",
|
|
" \n",
|
|
" return dynamic_code"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"L: shape: (2, 4)\n",
|
|
"┌──────────┬──────────┬─────┬────────┐\n",
|
|
"│ Column 3 ┆ Column 4 ┆ Ham ┆ Cheese │\n",
|
|
"│ --- ┆ --- ┆ --- ┆ --- │\n",
|
|
"│ str ┆ str ┆ str ┆ str │\n",
|
|
"╞══════════╪══════════╪═════╪════════╡\n",
|
|
"│ 5 ┆ 8 ┆ z ┆ a │\n",
|
|
"│ 7 ┆ 10 ┆ c ┆ c │\n",
|
|
"└──────────┴──────────┴─────┴────────┘\n",
|
|
"J: shape: (1, 7)\n",
|
|
"┌──────────┬──────────┬─────┬────────┬───────────┬──────────────┬───────┐\n",
|
|
"│ Column 3 ┆ Column 4 ┆ Ham ┆ Cheese ┆ Ham_right ┆ Cheese_right ┆ Count │\n",
|
|
"│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n",
|
|
"│ str ┆ str ┆ str ┆ str ┆ str ┆ str ┆ str │\n",
|
|
"╞══════════╪══════════╪═════╪════════╪═══════════╪══════════════╪═══════╡\n",
|
|
"│ 6 ┆ 9 ┆ b ┆ d ┆ b ┆ d ┆ 6 │\n",
|
|
"└──────────┴──────────┴─────┴────────┴───────────┴──────────────┴───────┘\n",
|
|
"R: shape: (2, 3)\n",
|
|
"┌─────┬────────┬───────┐\n",
|
|
"│ Ham ┆ Cheese ┆ Count │\n",
|
|
"│ --- ┆ --- ┆ --- │\n",
|
|
"│ str ┆ str ┆ str │\n",
|
|
"╞═════╪════════╪═══════╡\n",
|
|
"│ a ┆ a ┆ 4 │\n",
|
|
"│ c ┆ z ┆ 7 │\n",
|
|
"└─────┴────────┴───────┘\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def tool_join(join_spec: dict, df_L: pl.DataFrame, df_R: pl.DataFrame):\n",
|
|
" \"\"\" Generates join tool code \"\"\"\n",
|
|
" # dynamic_code = \"df_output = df_L.with_columns(\\n\"\n",
|
|
" pass\n",
|
|
"\n",
|
|
" \n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"# Join spec\n",
|
|
"xml_join_tool = results[6][2]\n",
|
|
"join_spec = getConf_Join(xml_join_tool)\n",
|
|
"\n",
|
|
"# Input L: TextInput 4\n",
|
|
"In_L = input_textInput(results[3][2])\n",
|
|
"# Input R: TextInput 15\n",
|
|
"In_R = input_textInput(results[12][2])\n",
|
|
"\n",
|
|
"# print(join_spec)\n",
|
|
"# print(In_L, In_R)\n",
|
|
"\n",
|
|
"\n",
|
|
"## Out L\n",
|
|
"# Column 3\tColumn 4\tHam\tCheese\n",
|
|
"# 7\t 10\t c\tc\n",
|
|
"# 5\t 8\t z\ta\n",
|
|
"\n",
|
|
"## Out J\n",
|
|
"# Column 3\tColumn 4\tHam\tCheese\tRight_Ham\tRight_Cheese\tCount\n",
|
|
"# 6\t 9\t b\td\t b\t d\t 6\n",
|
|
"\n",
|
|
"## Out R\n",
|
|
"# Ham\tCheese\tCount\n",
|
|
"# a\t a\t 4\n",
|
|
"# c\t z\t 7\n",
|
|
"\n",
|
|
"\n",
|
|
"print(\"L:\", In_L.join(In_R, on=join_spec['joinParams'], how='anti'))\n",
|
|
"\n",
|
|
"print(\"J:\", In_L.join(In_R, on=join_spec['joinParams'], how='inner', coalesce=False))\n",
|
|
"\n",
|
|
"print(\"R:\", In_R.join(In_L, on=join_spec['joinParams'], how='anti'))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"L in: shape: (3, 3)\n",
|
|
"┌─────┬─────┬─────┐\n",
|
|
"│ foo ┆ bar ┆ ham │\n",
|
|
"│ --- ┆ --- ┆ --- │\n",
|
|
"│ i64 ┆ f64 ┆ str │\n",
|
|
"╞═════╪═════╪═════╡\n",
|
|
"│ 1 ┆ 6.0 ┆ a │\n",
|
|
"│ 2 ┆ 7.0 ┆ b │\n",
|
|
"│ 3 ┆ 8.0 ┆ c │\n",
|
|
"└─────┴─────┴─────┘\n",
|
|
"R in: shape: (3, 2)\n",
|
|
"┌───────┬─────┐\n",
|
|
"│ apple ┆ ham │\n",
|
|
"│ --- ┆ --- │\n",
|
|
"│ str ┆ str │\n",
|
|
"╞═══════╪═════╡\n",
|
|
"│ x ┆ a │\n",
|
|
"│ y ┆ b │\n",
|
|
"│ z ┆ d │\n",
|
|
"└───────┴─────┘\n",
|
|
"L: shape: (1, 3)\n",
|
|
"┌─────┬─────┬─────┐\n",
|
|
"│ foo ┆ bar ┆ ham │\n",
|
|
"│ --- ┆ --- ┆ --- │\n",
|
|
"│ i64 ┆ f64 ┆ str │\n",
|
|
"╞═════╪═════╪═════╡\n",
|
|
"│ 3 ┆ 8.0 ┆ c │\n",
|
|
"└─────┴─────┴─────┘\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"df = pl.DataFrame(\n",
|
|
" {\n",
|
|
" \"foo\": [1, 2, 3],\n",
|
|
" \"bar\": [6.0, 7.0, 8.0],\n",
|
|
" \"ham\": [\"a\", \"b\", \"c\"],\n",
|
|
" }\n",
|
|
")\n",
|
|
"\n",
|
|
"other_df = pl.DataFrame(\n",
|
|
" {\n",
|
|
" \"apple\": [\"x\", \"y\", \"z\"],\n",
|
|
" \"ham\": [\"a\", \"b\", \"d\"],\n",
|
|
" }\n",
|
|
")\n",
|
|
"\n",
|
|
"print(\"L in:\", df)\n",
|
|
"\n",
|
|
"print(\"R in:\", other_df)\n",
|
|
"\n",
|
|
"print(\"L:\", df.join(other_df, left_on=\"ham\", right_on=\"ham\", how='anti'))\n",
|
|
"\n",
|
|
"# print(\"J: \", df.join(other_df, on=\"ham\", how='inner'))\n",
|
|
"\n",
|
|
"# print(\"R:\", other_df.join(df, on=\"ham\", how='anti'))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Parsing Tool Config data"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def input_textInput(xml_string):\n",
|
|
" # Get XML for a Text input tool\n",
|
|
" root = ET.fromstring(xml_string)\n",
|
|
" # Extract the field names\n",
|
|
" fields = [field.attrib['name'] for field in root.findall(\".//Fields/Field\")]\n",
|
|
" # Extract the data rows\n",
|
|
" data_rows = [[c.text for c in row.findall(\"c\")] for row in root.findall(\".//Data/r\")]\n",
|
|
" # Create the polars dataframe\n",
|
|
" df = pl.DataFrame(data_rows, fields, orient=\"row\")\n",
|
|
" # Display the dataframe\n",
|
|
" return df"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def getConf_Select(xml_string):\n",
|
|
" root = ET.fromstring(xml_string)\n",
|
|
" dict_SelectTool = {}\n",
|
|
"\n",
|
|
" for field in root.findall(\".//SelectFields/SelectField\"):\n",
|
|
" field_name = field.attrib['field']\n",
|
|
" field_selected = field.attrib['selected']\n",
|
|
"\n",
|
|
" try:\n",
|
|
" field_type = field.attrib['type']\n",
|
|
" except:\n",
|
|
" field_type = None\n",
|
|
" try:\n",
|
|
" field_rename = field.attrib['rename']\n",
|
|
" except:\n",
|
|
" field_rename = None\n",
|
|
"\n",
|
|
" dict_SelectTool[field_name] = (field_rename, field_type, field_selected)\n",
|
|
"\n",
|
|
" return dict_SelectTool"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"{'joinParams': ['Ham', 'Cheese'], 'fields': {'Right_Ham': ['Right_Ham', 'Right_', None, None], 'Right_Cheese': ['Right_Cheese', 'Right_', None, None], 'Right_Column 3': ['Right_Column 3', 'Right_', 'V_String', '11'], 'Right_Column 4': ['Right_Column 4', 'Right_', 'Int64', '8']}}\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def getConf_Join(xml_string):\n",
|
|
" root = ET.fromstring(xml_string)\n",
|
|
" dict_JoinTool = {}\n",
|
|
"\n",
|
|
" # Join parameters\n",
|
|
" for joinField in root.findall(\".//Configuration/JoinInfo\"):\n",
|
|
" if joinField.attrib['connection'] == \"Left\":\n",
|
|
" left_on = [field.attrib['field'] for field in joinField]\n",
|
|
" if joinField.attrib['connection'] == \"Right\":\n",
|
|
" right_on = [field.attrib['field'] for field in joinField]\n",
|
|
"\n",
|
|
" if left_on == right_on:\n",
|
|
" dict_JoinTool['joinParams'] = (left_on)\n",
|
|
" else:\n",
|
|
" dict_JoinTool['joinParams'] = (left_on, right_on)\n",
|
|
"\n",
|
|
" \n",
|
|
" # Field Parameters\n",
|
|
" fieldConfig = {}\n",
|
|
" for fields in root.findall(\".//SelectField\"):\n",
|
|
" result = []\n",
|
|
" if fields.attrib['selected'] == 'True':\n",
|
|
" for field in ['rename', 'input', 'type', 'size']:\n",
|
|
" try:\n",
|
|
" result.append(fields.attrib[field])\n",
|
|
" except KeyError:\n",
|
|
" result.append(None)\n",
|
|
"\n",
|
|
" if fields.attrib['field'] != '*Unknown':\n",
|
|
" fieldConfig[fields.attrib['field']] = result\n",
|
|
"\n",
|
|
" dict_JoinTool['fields'] = fieldConfig\n",
|
|
"\n",
|
|
" return dict_JoinTool\n",
|
|
"\n",
|
|
"print(getConf_Join(xml_join_tool))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Working with the XML file"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"ename": "ParseError",
|
|
"evalue": "syntax error: line 1, column 0 (<string>)",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"Traceback \u001b[1;36m(most recent call last)\u001b[0m:\n",
|
|
"\u001b[0m File \u001b[0;32mc:\\Users\\casey.morter\\AppData\\Local\\miniconda3\\envs\\polaryx\\Lib\\site-packages\\IPython\\core\\interactiveshell.py:3577\u001b[0m in \u001b[0;35mrun_code\u001b[0m\n exec(code_obj, self.user_global_ns, self.user_ns)\u001b[0m\n",
|
|
"\u001b[0m Cell \u001b[0;32mIn[11], line 6\u001b[0m\n ToolType = ET.fromstring(ToolXML).find(\".//GuiSettings\").attrib['Plugin'].split(\".\")[2]\u001b[0m\n",
|
|
"\u001b[1;36m File \u001b[1;32mc:\\Users\\casey.morter\\AppData\\Local\\miniconda3\\envs\\polaryx\\Lib\\xml\\etree\\ElementTree.py:1335\u001b[1;36m in \u001b[1;35mXML\u001b[1;36m\n\u001b[1;33m parser.feed(text)\u001b[1;36m\n",
|
|
"\u001b[1;36m File \u001b[1;32m<string>\u001b[1;36m\u001b[0m\n\u001b[1;31mParseError\u001b[0m\u001b[1;31m:\u001b[0m syntax error: line 1, column 0\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Parse all tools in tools dict\n",
|
|
"for tool in results:\n",
|
|
"\n",
|
|
" ToolID = tool[0]\n",
|
|
" ToolXML = tool[1]\n",
|
|
" ToolType = ET.fromstring(ToolXML).find(\".//GuiSettings\").attrib['Plugin'].split(\".\")[2]\n",
|
|
"\n",
|
|
" print(ToolID, ToolType)\n",
|
|
"\n",
|
|
" if ToolType == 'TextInput':\n",
|
|
" print(input_textInput(ToolXML))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"############### Input dataframe (TextInput):\n",
|
|
" shape: (3, 4)\n",
|
|
"┌──────────┬──────────┬─────┬────────┐\n",
|
|
"│ Column 3 ┆ Column 4 ┆ Ham ┆ Cheese │\n",
|
|
"│ --- ┆ --- ┆ --- ┆ --- │\n",
|
|
"│ str ┆ str ┆ str ┆ str │\n",
|
|
"╞══════════╪══════════╪═════╪════════╡\n",
|
|
"│ 5 ┆ 8 ┆ z ┆ a │\n",
|
|
"│ 6 ┆ 9 ┆ b ┆ d │\n",
|
|
"│ 7 ┆ 10 ┆ c ┆ c │\n",
|
|
"└──────────┴──────────┴─────┴────────┘\n",
|
|
"\n",
|
|
"############### Generated code from Select tool: \n",
|
|
" df_output = df.with_columns(\n",
|
|
"df.select(pl.col(f'Column 3').alias('Col_3_renamed')),\n",
|
|
")\n",
|
|
"df_output = df_output.drop(f'Column 3')\n",
|
|
"df_output = df_output.drop(f'Column 4')\n",
|
|
"\n",
|
|
"\n",
|
|
"############### Output DF: \n",
|
|
"\n",
|
|
" shape: (3, 3)\n",
|
|
"┌─────┬────────┬───────────────┐\n",
|
|
"│ Ham ┆ Cheese ┆ Col_3_renamed │\n",
|
|
"│ --- ┆ --- ┆ --- │\n",
|
|
"│ str ┆ str ┆ str │\n",
|
|
"╞═════╪════════╪═══════════════╡\n",
|
|
"│ z ┆ a ┆ 5 │\n",
|
|
"│ b ┆ d ┆ 6 │\n",
|
|
"│ c ┆ c ┆ 7 │\n",
|
|
"└─────┴────────┴───────────────┘\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Tool 1: TextInput\n",
|
|
"xml_tool1 = results[3][2]\n",
|
|
"df_in = input_textInput(xml_tool1)\n",
|
|
"print(\"\\n############### Input dataframe (TextInput):\\n\", df_in)\n",
|
|
"# Tool 2: Select\n",
|
|
"col_spec = getConf_Select(results[4][2])\n",
|
|
"# Generate code from \n",
|
|
"code = tool_select(col_spec)\n",
|
|
"print(\"\\n############### Generated code from Select tool: \\n\", code)\n",
|
|
"# Execute and display output\n",
|
|
"df = df_in\n",
|
|
"exec(code)\n",
|
|
"print(\"\\n############### Output DF: \\n\\n\", df_output)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"('1', 'TextInput (1)', '<Node ToolID=\"1\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.TextInput.TextInput\">\\n <Position x=\"54\" y=\"54\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <NumRows value=\"3\" />\\n <Fields>\\n <Field name=\"Column1\" />\\n <Field name=\"Column 2\" />\\n </Fields>\\n <Data>\\n <r>\\n <c>1</c>\\n <c>4</c>\\n </r>\\n <r>\\n <c>2</c>\\n <c>5</c>\\n </r>\\n <r>\\n <c>3</c>\\n <c>6</c>\\n </r>\\n </Data>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxTextInput\" />\\n </Node>\\n ')\n",
|
|
"('2', 'AlteryxSelect (2)', '<Node ToolID=\"2\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect\">\\n <Position x=\"186\" y=\"54\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <OrderChanged value=\"False\" />\\n <CommaDecimal value=\"False\" />\\n <SelectFields>\\n <SelectField field=\"Column1\" selected=\"True\" type=\"Int64\" size=\"8\" />\\n <SelectField field=\"Column 2\" selected=\"False\" type=\"WString\" size=\"3\" />\\n <SelectField field=\"*Unknown\" selected=\"False\" />\\n </SelectFields>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxSelect\" />\\n </Node>\\n ')\n",
|
|
"('3', 'BrowseV2 (3)', '<Node ToolID=\"3\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"318\" y=\"54\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_9b8a61f4c39b2e4ea05f98886a386376~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout>\\n <View1>\\n <Hints>\\n <Table />\\n </Hints>\\n </View1>\\n </Layout>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n",
|
|
"('4', 'TextInput (4)', '<Node ToolID=\"4\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.TextInput.TextInput\">\\n <Position x=\"54\" y=\"246\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <NumRows value=\"3\" />\\n <Fields>\\n <Field name=\"Column 3\" />\\n <Field name=\"Column 4\" />\\n <Field name=\"Ham\" />\\n <Field name=\"Cheese\" />\\n </Fields>\\n <Data>\\n <r>\\n <c>5</c>\\n <c>8</c>\\n <c>z</c>\\n <c>a</c>\\n </r>\\n <r>\\n <c>6</c>\\n <c>9</c>\\n <c>b</c>\\n <c>d</c>\\n </r>\\n <r>\\n <c>7</c>\\n <c>10</c>\\n <c>c</c>\\n <c>c</c>\\n </r>\\n </Data>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxTextInput\" />\\n </Node>\\n ')\n",
|
|
"('5', 'AlteryxSelect (5)', '<Node ToolID=\"5\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect\">\\n <Position x=\"426\" y=\"390\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <OrderChanged value=\"False\" />\\n <CommaDecimal value=\"False\" />\\n <SelectFields>\\n <SelectField field=\"Column 3\" selected=\"True\" rename=\"Col_3_renamed\" />\\n <SelectField field=\"Column 4\" selected=\"False\" />\\n <SelectField field=\"*Unknown\" selected=\"True\" />\\n </SelectFields>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxSelect\" />\\n </Node>\\n ')\n",
|
|
"('6', 'Formula (6)', '<Node ToolID=\"6\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.Formula.Formula\">\\n <Position x=\"354\" y=\"474\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <FormulaFields>\\n <FormulaField expression=\"[Count] + 10\" field=\"MoreCount\" size=\"4\" type=\"Int32\" />\\n </FormulaFields>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText>MoreCount = [Count] + 10\\n</DefaultAnnotationText>\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxFormula\" />\\n </Node>\\n ')\n",
|
|
"('7', 'Join (7)', '<Node ToolID=\"7\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.Join.Join\">\\n <Position x=\"522\" y=\"402\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration joinByRecordPos=\"False\">\\n <JoinInfo connection=\"Left\">\\n <Field field=\"Ham\" />\\n <Field field=\"Cheese\" />\\n </JoinInfo>\\n <JoinInfo connection=\"Right\">\\n <Field field=\"Ham\" />\\n <Field field=\"Cheese\" />\\n </JoinInfo>\\n <SelectConfiguration>\\n <Configuration outputConnection=\"Join\">\\n <OrderChanged value=\"False\" />\\n <CommaDecimal value=\"False\" />\\n <SelectFields>\\n <SelectField field=\"Right_Ham\" selected=\"True\" rename=\"Right_Ham\" input=\"Right_\" />\\n <SelectField field=\"Right_Cheese\" selected=\"True\" rename=\"Right_Cheese\" input=\"Right_\" />\\n <SelectField field=\"Right_Column 3\" selected=\"True\" rename=\"Right_Column 3\" input=\"Right_\" type=\"V_String\" size=\"11\" />\\n <SelectField field=\"Right_Column 4\" selected=\"True\" rename=\"Right_Column 4\" input=\"Right_\" type=\"Int64\" size=\"8\" />\\n <SelectField field=\"*Unknown\" selected=\"True\" />\\n </SelectFields>\\n </Configuration>\\n </SelectConfiguration>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxJoin\" />\\n </Node>\\n ')\n",
|
|
"('10', 'BrowseV2 (10)', '<Node ToolID=\"10\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"618\" y=\"486\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_c1d268f486209c40bdc02a676a529ee0~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout>\\n <View1>\\n <Hints>\\n <Table />\\n </Hints>\\n </View1>\\n </Layout>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n",
|
|
"('11', 'Formula (11)', '<Node ToolID=\"11\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.Formula.Formula\">\\n <Position x=\"450\" y=\"618\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <FormulaFields>\\n <FormulaField expression=\"[Engine.TempFilePath]\" field=\"Path\" size=\"1073741823\" type=\"V_WString\" />\\n </FormulaFields>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText>Path = [Engine.TempFilePath]\\n</DefaultAnnotationText>\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxFormula\" />\\n </Node>\\n ')\n",
|
|
"('12', 'Sample (12)', '<Node ToolID=\"12\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.Sample.Sample\">\\n <Position x=\"330\" y=\"618\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <Mode>First</Mode>\\n <N>1</N>\\n <GroupFields orderChanged=\"False\" />\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText>First 1</DefaultAnnotationText>\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxSample\" />\\n </Node>\\n ')\n",
|
|
"('13', 'BrowseV2 (13)', '<Node ToolID=\"13\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"546\" y=\"618\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_4d6ee2d9de8fac4095ab55a2bceed63e~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout>\\n <View1>\\n <Hints>\\n <Table />\\n </Hints>\\n </View1>\\n </Layout>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n",
|
|
"('14', 'DbFileOutput (14)', '<Node ToolID=\"14\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.DbFileOutput.DbFileOutput\">\\n <Position x=\"702\" y=\"402\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <File MaxRecords=\"\" FileFormat=\"0\">.\\\\SimpleWorkflowOut.csv</File>\\n <Passwords />\\n <FormatSpecificOptions>\\n <LineEndStyle>CRLF</LineEndStyle>\\n <Delimeter>,</Delimeter>\\n <ForceQuotes>False</ForceQuotes>\\n <HeaderRow>True</HeaderRow>\\n <CodePage>28591</CodePage>\\n <WriteBOM>True</WriteBOM>\\n </FormatSpecificOptions>\\n <MultiFile value=\"False\" />\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText>SimpleWorkflowOut.csv</DefaultAnnotationText>\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxDbFileOutput\" />\\n </Node>\\n ')\n",
|
|
"('15', 'TextInput (15)', '<Node ToolID=\"15\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.TextInput.TextInput\">\\n <Position x=\"54\" y=\"330\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <NumRows value=\"3\" />\\n <Fields>\\n <Field name=\"Ham\" />\\n <Field name=\"Cheese\" />\\n <Field name=\"Count\" />\\n </Fields>\\n <Data>\\n <r>\\n <c>a</c>\\n <c>a</c>\\n <c>4</c>\\n </r>\\n <r>\\n <c>b</c>\\n <c>d</c>\\n <c>6</c>\\n </r>\\n <r>\\n <c>c</c>\\n <c>z</c>\\n <c>7</c>\\n </r>\\n </Data>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxTextInput\" />\\n </Node>\\n ')\n",
|
|
"('16', 'HamCheeseJoin', '<Node ToolID=\"16\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.Join.Join\">\\n <Position x=\"306\" y=\"198\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration joinByRecordPos=\"False\">\\n <JoinInfo connection=\"Left\">\\n <Field field=\"Ham\" />\\n <Field field=\"Cheese\" />\\n </JoinInfo>\\n <JoinInfo connection=\"Right\">\\n <Field field=\"Ham\" />\\n <Field field=\"Cheese\" />\\n </JoinInfo>\\n <SelectConfiguration>\\n <Configuration outputConnection=\"Join\">\\n <OrderChanged value=\"False\" />\\n <CommaDecimal value=\"False\" />\\n <SelectFields>\\n <SelectField field=\"Right_Ham\" selected=\"True\" rename=\"Right_Ham\" input=\"Right_\" />\\n <SelectField field=\"Right_Cheese\" selected=\"True\" rename=\"Right_Cheese\" input=\"Right_\" />\\n <SelectField field=\"*Unknown\" selected=\"True\" />\\n </SelectFields>\\n </Configuration>\\n </SelectConfiguration>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name>HamCheeseJoin</Name>\\n <DefaultAnnotationText>HamCheeseJoin</DefaultAnnotationText>\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxJoin\" />\\n </Node>\\n ')\n",
|
|
"('17', 'BrowseV2 (17)', '<Node ToolID=\"17\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"402\" y=\"114\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_e692dab3020ec84ebe69a5de3e6990c9~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout />\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n",
|
|
"('18', 'BrowseV2 (18)', '<Node ToolID=\"18\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"402\" y=\"198\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_83aac5fa43df8044b1161f8298a2a180~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout />\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n",
|
|
"('19', 'BrowseV2 (19)', '<Node ToolID=\"19\">\\n <GuiSettings Plugin=\"AlteryxBasePluginsGui.BrowseV2.BrowseV2\">\\n <Position x=\"402\" y=\"294\" />\\n </GuiSettings>\\n <Properties>\\n <Configuration>\\n <TempFile>C:\\\\Users\\\\casey.morter\\\\AppData\\\\Local\\\\Temp\\\\Engine_28104_a89278053b87e446bfe970eb948f1ef4_\\\\Engine_28104_c2ab20e4f5222342bc00e6424dbc38bd~.yxdb</TempFile>\\n <TempFileDataProfiling />\\n <Layout>\\n <View1>\\n <Hints>\\n <Table />\\n </Hints>\\n </View1>\\n </Layout>\\n </Configuration>\\n <Annotation DisplayMode=\"0\">\\n <Name />\\n <DefaultAnnotationText />\\n <Left value=\"False\" />\\n </Annotation>\\n </Properties>\\n <EngineSettings EngineDll=\"AlteryxBasePluginsEngine.dll\" EngineDllEntryPoint=\"AlteryxBrowseV2\" />\\n </Node>\\n ')\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"for tool in results:\n",
|
|
" print(tool)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"vscode": {
|
|
"languageId": "latex"
|
|
}
|
|
},
|
|
"source": [
|
|
"# DAG Analysis"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 35,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"<Element 'Origin' at 0x0000018403B512B0>\n",
|
|
"<Element 'Origin' at 0x0000018403B50C20>\n",
|
|
"<Element 'Origin' at 0x0000018403B51170>\n",
|
|
"<Element 'Origin' at 0x0000018403B50AE0>\n",
|
|
"<Element 'Origin' at 0x0000018403B50D10>\n",
|
|
"<Element 'Origin' at 0x0000018403B50BD0>\n",
|
|
"<Element 'Origin' at 0x0000018403B508B0>\n",
|
|
"<Element 'Origin' at 0x0000018403B50270>\n",
|
|
"<Element 'Origin' at 0x0000018403B51580>\n",
|
|
"<Element 'Origin' at 0x0000018403B50E00>\n",
|
|
"<Element 'Origin' at 0x0000018403B50CC0>\n",
|
|
"<Element 'Origin' at 0x0000018403B531A0>\n",
|
|
"<Element 'Origin' at 0x0000018403B533D0>\n",
|
|
"<Element 'Origin' at 0x0000018403B53600>\n",
|
|
"<Element 'Origin' at 0x0000018403B536F0>\n",
|
|
"<Element 'Origin' at 0x0000018403B53470>\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# %pip install networkx matplotlib\n",
|
|
"\n",
|
|
"xml_file_path = \"./SimpleWorkflow/SimpleWorkflow.yxmd\"\n",
|
|
"tree = ET.parse(xml_file_path)\n",
|
|
"root = tree.getroot()\n",
|
|
" \n",
|
|
"# root = ET.fromstring(xml_string)\n",
|
|
"# connections = root.find('Connections')\n",
|
|
"# if connections is not None:\n",
|
|
"# xml_connections = ''.join(connections.itertext()).strip()\n",
|
|
"\n",
|
|
" \n",
|
|
" \n",
|
|
"\n",
|
|
"# Add edges to the graph\n",
|
|
"for conn in root.iter('Connection'):\n",
|
|
" origin = conn.find('Origin')\n",
|
|
" print(origin)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 41,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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puqvnxUfRe+kGMwmDfwXERGRk6dQSkRERKQFK3HWsiLEXVPqjhIREZHmoFBKREREpIXzeH1sKN3PlrIq3N7gvXQLMxlkxkfRMyFa3VEiIiLS5BRKiYiIiLQSHq+P/EoneWVVlLvcTb6sr/757JYwMuOj6BRjVRglIiIizUahlIiIiEgrVOqsZaujmvxKJ/XNU8cbUh18vsmATjFWMuNtxEdqmZ6IiIg0P4VSIiIiIq2Y1+ej0uWmzFWHo6aOUmcdFa46vEd4jAmItYSTYA3HHhlOvCWcGEsYJkNdUSIiIhI8CqVERERE2hivz0d1nQe314fX5/9lMgxMhkGYycAWblYAJSIiIiGnUEpERERERERERILOFOoCRERERERERESk/VEoJSIiIiIiIiIiQadQSkREREREREREgk6hlIiIiIiIiIiIBJ1CKRERERERERERCTqFUiIiIiIiIiIiEnQKpUREREREREREJOgUSomIiIiIiIiISNAplBIRERERERERkaBTKCUiIiIiIiIiIkGnUEpERERERERERIJOoZSIiIiIiIiIiASdQikREREREREREQk6hVIiIiIiIiIiIhJ0CqVERERERERERCToFEqJiIiIiIiIiEjQKZQSEREREREREZGgUyglIiIiIiIiIiJBp1BKRERERERERESCTqGUiIiIiIiIiIgEnUIpEREREREREREJOoVSIiIiIiIiIiISdAqlREREREREREQk6BRKiYiIiIiIiIhI0CmUEhERERERERGRoFMoJSIiIiIiIiIiQadQSkREREREREREgk6hlIiIiIiIiIiIBJ1CKRERERERERERCTqFUiIiIiIiIiIiEnQKpUREREREREREJOgUSomIiIiIiIiISNAplBIRERERERERkaBTKCUiIiIiIiIiIkGnUEpERERERERERIJOoZSIiIiIiIiIiASdQikREREREREREQk6hVIiIiIiIiIiIhJ0CqVERERERERERCToFEqJiIiIiIiIiEjQKZQSEREREREREZGgUyglIiIiIiIiIiJBp1BKRERERERERESC7v8Dxb1sx5E4HqMAAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 1200x800 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"import xml.etree.ElementTree as ET\n",
|
|
"\n",
|
|
"xml_file_path = \"./SimpleWorkflow/SimpleWorkflow.yxmd\"\n",
|
|
"tree = ET.parse(xml_file_path)\n",
|
|
"root = tree.getroot()\n",
|
|
"\n",
|
|
"# Create a directed graph\n",
|
|
"G = nx.DiGraph()\n",
|
|
"\n",
|
|
"# Add edges to the graph\n",
|
|
"for conn in root.iter('Connection'):\n",
|
|
" origin = conn.find('Origin')\n",
|
|
" destination = conn.find('Destination')\n",
|
|
"\n",
|
|
" origin_id = origin.get('ToolID')\n",
|
|
" dest_id = destination.get('ToolID')\n",
|
|
" origin_conn = origin.get('Connection')\n",
|
|
" dest_conn = destination.get('Connection')\n",
|
|
"\n",
|
|
" G.add_edge(origin_id, dest_id)\n",
|
|
" G.edges[origin_id, dest_id]['origin_conn'] = origin_conn\n",
|
|
" G.edges[origin_id, dest_id]['dest_conn'] = dest_conn\n",
|
|
"\n",
|
|
"# Set up the plot\n",
|
|
"plt.figure(figsize=(12, 8))\n",
|
|
"# pos = nx.spring_layout(G)\n",
|
|
"pos = nx.circular_layout(G)\n",
|
|
"\n",
|
|
"# Draw nodes\n",
|
|
"nx.draw_networkx_nodes(G, pos, node_size=2000, node_color='lightblue')\n",
|
|
"nx.draw_networkx_labels(G, pos, labels={node: f\"Tool ID: {node}\" for node in G.nodes()})\n",
|
|
"\n",
|
|
"# Draw edges\n",
|
|
"nx.draw_networkx_edges(G, pos, edge_color='gray', arrows=True, arrowsize=20)\n",
|
|
"\n",
|
|
"# Add edge labels\n",
|
|
"edge_labels = {(u, v): f\"{d['origin_conn']} -> {d['dest_conn']}\" for u, v, d in G.edges(data=True)}\n",
|
|
"nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels, font_size=8)\n",
|
|
"\n",
|
|
"# Remove axis\n",
|
|
"plt.axis('off')\n",
|
|
"\n",
|
|
"# Show the plot\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 32,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"ename": "AttributeError",
|
|
"evalue": "'str' object has no attribute 'iter'",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
|
"\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)",
|
|
"Cell \u001b[1;32mIn[32], line 59\u001b[0m\n\u001b[0;32m 53\u001b[0m \u001b[38;5;66;03m# Example usage:\u001b[39;00m\n\u001b[0;32m 54\u001b[0m xml_string \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[0;32m 55\u001b[0m \u001b[38;5;124m<Connections>\u001b[39m\n\u001b[0;32m 56\u001b[0m \u001b[38;5;124m <!-- Your XML content here -->\u001b[39m\n\u001b[0;32m 57\u001b[0m \u001b[38;5;124m</Connections>\u001b[39m\n\u001b[0;32m 58\u001b[0m \u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[1;32m---> 59\u001b[0m \u001b[43mvisualize_dag\u001b[49m\u001b[43m(\u001b[49m\u001b[43mxml_string\u001b[49m\u001b[43m)\u001b[49m\n",
|
|
"Cell \u001b[1;32mIn[32], line 18\u001b[0m, in \u001b[0;36mvisualize_dag\u001b[1;34m(root)\u001b[0m\n\u001b[0;32m 15\u001b[0m G \u001b[38;5;241m=\u001b[39m nx\u001b[38;5;241m.\u001b[39mDiGraph()\n\u001b[0;32m 17\u001b[0m \u001b[38;5;66;03m# Add edges to the graph\u001b[39;00m\n\u001b[1;32m---> 18\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m conn \u001b[38;5;129;01min\u001b[39;00m \u001b[43mroot\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43miter\u001b[49m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mConnection\u001b[39m\u001b[38;5;124m'\u001b[39m):\n\u001b[0;32m 19\u001b[0m origin \u001b[38;5;241m=\u001b[39m conn\u001b[38;5;241m.\u001b[39mfind(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mOrigin\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m 20\u001b[0m destination \u001b[38;5;241m=\u001b[39m conn\u001b[38;5;241m.\u001b[39mfind(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mDestination\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
|
|
"\u001b[1;31mAttributeError\u001b[0m: 'str' object has no attribute 'iter'"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import xml.etree.ElementTree as ET\n",
|
|
"import networkx as nx\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"\n",
|
|
"xml_file_path = \"./SimpleWorkflow/SimpleWorkflow.yxmd\"\n",
|
|
"tree = ET.parse(xml_file_path)\n",
|
|
"root = tree.getroot()\n",
|
|
"\n",
|
|
"\n",
|
|
"def visualize_dag(root):\n",
|
|
" # Parse the XML string\n",
|
|
"# root = ET.fromstring(xml_string)\n",
|
|
"\n",
|
|
" # Create a directed graph\n",
|
|
" G = nx.DiGraph()\n",
|
|
"\n",
|
|
" # Add edges to the graph\n",
|
|
" for conn in root.iter('Connection'):\n",
|
|
" origin = conn.find('Origin')\n",
|
|
" destination = conn.find('Destination')\n",
|
|
" \n",
|
|
" origin_id = origin.get('ToolID')\n",
|
|
" dest_id = destination.get('ToolID')\n",
|
|
" origin_conn = origin.get('Connection')\n",
|
|
" dest_conn = destination.get('Connection')\n",
|
|
" \n",
|
|
" G.add_edge(origin_id, dest_id)\n",
|
|
" G.edges[origin_id, dest_id]['origin_conn'] = origin_conn\n",
|
|
" G.edges[origin_id, dest_id]['dest_conn'] = dest_conn\n",
|
|
"\n",
|
|
" # Set up the plot\n",
|
|
" plt.figure(figsize=(12, 8))\n",
|
|
" pos = nx.spring_layout(G)\n",
|
|
"\n",
|
|
" # Draw nodes\n",
|
|
" nx.draw_networkx_nodes(G, pos, node_size=2000, node_color='lightblue')\n",
|
|
" nx.draw_networkx_labels(G, pos, labels={node: f\"Tool ID: {node}\" for node in G.nodes()})\n",
|
|
"\n",
|
|
" # Draw edges\n",
|
|
" nx.draw_networkx_edges(G, pos, edge_color='gray', arrows=True, arrowsize=20)\n",
|
|
"\n",
|
|
" # Add edge labels\n",
|
|
" edge_labels = {(u, v): f\"{d['origin_conn']} -> {d['dest_conn']}\" for u, v, d in G.edges(data=True)}\n",
|
|
" nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels, font_size=8)\n",
|
|
"\n",
|
|
" # Remove axis\n",
|
|
" plt.axis('off')\n",
|
|
"\n",
|
|
" # Show the plot\n",
|
|
" plt.tight_layout()\n",
|
|
" plt.show()\n",
|
|
"\n",
|
|
"# Example usage:\n",
|
|
"xml_string = \"\"\"\n",
|
|
"<Connections>\n",
|
|
" <!-- Your XML content here -->\n",
|
|
"</Connections>\n",
|
|
"\"\"\"\n",
|
|
"visualize_dag(xml_string)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.10.9"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|