MT#8495 Add some test data for banlist handling.

(cherry picked from commit cbe335a5e0)
agranig/webphone
Andreas Granig 12 years ago
parent a30e471799
commit 213355944c

@ -0,0 +1,36 @@
#!/usr/bin/perl -w
use strict;
use XML::Mini::Document;
use Data::Printer;
my $f = 'banlist.xml';
my $data = do { local $/; open my $fh, $f or die $!; <$fh> };
my $xmlDoc = XML::Mini::Document->new();
$xmlDoc->parse($data);
my $xmlHash = $xmlDoc->toHash();
my @ips = ();
# non empty response
if(defined $xmlHash->{methodResponse}->{params}->{param}->{value} and
'' ne $xmlHash->{methodResponse}->{params}->{param}->{value} ) {
# single IP
if(ref $xmlHash->{methodResponse}->{params}->{param}->{value}->{struct} eq 'HASH') {
push @ips, { ip => $xmlHash->{methodResponse}->{params}->{param}->{value}->{struct}->{member}->[2]->{value}->{struct}->{member}->{value}->{struct}->{member}->[0]->{value}->{string} };
}
# multiple IPs
else {
for my $struct ( @{ $xmlHash->{methodResponse}->{params}->{param}->{value}->{struct} } ) {
if(ref $struct->{member}->[2]->{value}->{struct}->{member} eq 'HASH') {
push @ips, { ip => $struct->{member}->[2]->{value}->{struct}->{member}->{value}->{struct}->{member}->[0]->{value}->{string} };
} else {
foreach my $member(@{ $struct->{member}->[2]->{value}->{struct}->{member} }) {
push @ips, { ip => $member->{value}->{struct}->{member}->[0]->{value}->{string} };
}
}
}
}
}
p @ips;

@ -0,0 +1,29 @@
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value><struct><member><name>entry</name><value><int>0</int></value></member><member><name>size</name><value><int>2</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.106.0.73</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member><member><name>item</name><value><struct><member><name>name</name><value><string>100.111.0.56</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>13</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>10.155.142.202</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>48</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.107.8.15</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>60</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.110.5.248</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>68</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.111.0.70</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>84</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.107.0.114</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>87</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>178.19.227.146</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>128</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.111.5.13</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>129</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>192.227.156.98</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>141</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.111.3.99</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>144</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.111.0.2</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>150</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.100.87.204</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>163</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.110.0.15</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>166</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.107.6.245</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>181</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.107.0.220</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>183</int></value></member><member><name>size</name><value><int>2</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.111.0.107</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member><member><name>item</name><value><struct><member><name>name</name><value><string>100.111.0.143</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>184</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.107.2.46</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>185</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.111.5.196</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>190</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.111.0.196</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>225</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.100.13.169</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
<struct><member><name>entry</name><value><int>247</int></value></member><member><name>size</name><value><int>1</int></value></member><member><name>slot</name><value><struct><member><name>item</name><value><struct><member><name>name</name><value><string>100.110.8.119</string></value></member><member><name>value</name><value><int>1</int></value></member></struct></value></member></struct></value></member></struct>
</value>
</param>
</params>
</methodResponse>
Loading…
Cancel
Save