I create bash script which must generate 32 graphs from my 32 SNMP maps links. Its output xml code, which i paste in dude. Graphs created well, but without lines in them. When i create that graps in dude, and then export them, the only difference between xml files is IDs. There is scripts, simple output, and diff output:
#!/bin/bash
chart_id=4656286
lines_id=1500
sys_name='\d0\9b\d0\\b8\d0\\bd\d0\\b8\d1\8f \d0\\b4\d0\\b8\d0\\b0\d0\\b3\d1\80\d0\\b0\d0\\bc\d0\\bc\d1\\8b'
X=0
P=1
echo '<?xml version="1.0" ?>
<dude version="3.0rc3">'
#for ((X=0;X<2;X=X+1));do for ((P=0;P<16;P=P+1));do
tx_source_line=`grep -E -B 1 "<sys-name>FC port 0/${P} .*br5k_${X}.*tx" backup-2009.01.16.xml |grep sys-id|cut -d'>' -f2|cut -d'<' -f1`
rx_source_line=`grep -E -B 1 "<sys-name>FC port 0/${P} .*br5k_${X}.*rx" backup-2009.01.16.xml |grep sys-id|cut -d'>' -f2|cut -d'<' -f1`
line1_id=`expr $chart_id + 1`
line2_id=`expr $chart_id + 2`
echo -e " <Chart>
<sys-type>42</sys-type>
<sys-id>${chart_id}</sys-id>
<sys-name>br5k_${X}_port${P}</sys-name>
<linesID>${lines_id}</linesID>
<backgroundColor>FFFFFF</backgroundColor>
<gridColor>C0C0C0</gridColor>
<font>09000000000000000000000000000000000000000000000100000000417269616C000000000000000000000000000000000000000000000000000000</font>
</Chart>
<ChartLine>
<sys-type>${lines_id}</sys-type>
<sys-id>${line2_id}</sys-id>
<sys-name>${sys_name}</sys-name>
<sourceID>${tx_source_line}</sourceID>
<lineColor>FF0000</lineColor>
<fillColor>FF0000</fillColor>
</ChartLine>
<ChartLine>
<sys-type>${lines_id}</sys-type>
<sys-id>${line1_id}</sys-id>
<sys-name>${sys_name}</sys-name>
<sys-nextID>${line2_id}</sys-nextID>
<sourceID>${rx_source_line}</sourceID>
<lineColor>0000FF</lineColor>
<fillColor>0000FF</fillColor>
</ChartLine>"
lines_id=lines_id+1;
chart_id=chart_id+11;
#done;done
echo '</dude>'
XML:
<?xml version="1.0" ?>
<dude version="3.0rc3">
<Chart>
<sys-type>42</sys-type>
<sys-id>4656286</sys-id>
<sys-name>br5k_0_port1</sys-name>
<linesID>1500</linesID>
<backgroundColor>FFFFFF</backgroundColor>
<gridColor>C0C0C0</gridColor>
<font>09000000000000000000000000000000000000000000000100000000417269616C000000000000000000000000000000000000000000000000000000</font>
</Chart>
<ChartLine>
<sys-type>1500</sys-type>
<sys-id>4656288</sys-id>
<sys-name>\d0\9b\d0\b8\d0\bd\d0\b8\d1\8f \d0\b4\d0\b8\d0\b0\d0\b3\d1\80\d0\b0\d0\bc\d0\bc\d1\8b</sys-name>
<sourceID>4577150</sourceID>
<lineColor>FF0000</lineColor>
<fillColor>FF0000</fillColor>
</ChartLine>
<ChartLine>
<sys-type>1500</sys-type>
<sys-id>4656287</sys-id>
<sys-name>\d0\9b\d0\b8\d0\bd\d0\b8\d1\8f \d0\b4\d0\b8\d0\b0\d0\b3\d1\80\d0\b0\d0\bc\d0\bc\d1\8b</sys-name>
<sys-nextID>4656288</sys-nextID>
<sourceID>4577156</sourceID>
<lineColor>0000FF</lineColor>
<fillColor>0000FF</fillColor>
</ChartLine>
</dude>
diff output:
[sady@sady-lin Desktop]$ diff new*
5c5
< <sys-id>4577861</sys-id>
---
> <sys-id>4656286</sys-id>
7c7
< <linesID>1179</linesID>
---
> <linesID>1500</linesID>
13,14c13,14
< <sys-type>1179</sys-type>
< <sys-id>4577870</sys-id>
---
> <sys-type>1500</sys-type>
> <sys-id>4656288</sys-id>
21,22c21,22
< <sys-type>1179</sys-type>
< <sys-id>4577866</sys-id>
---
> <sys-type>1500</sys-type>
> <sys-id>4656287</sys-id>
24c24
< <sys-nextID>4577870</sys-nextID>
---
> <sys-nextID>4656288</sys-nextID>
how sys-IDs generated in dude? it is theoretically possible to create object this way?