diff options
author | Thorsten Schöning <tschoening@am-soft.de> | 2012-11-23 00:39:37 +0100 |
---|---|---|
committer | Frédéric Buclin <LpSolit@gmail.com> | 2012-11-23 00:39:37 +0100 |
commit | 7353bc8fce1eaed8fa0bba03dcef157eafaf8a42 (patch) | |
tree | 4f49bfc20f006c879f61c5b1756e6cb611c0c4e2 | |
parent | 649b1d6be2eeaf6586fec4bf58f09324bfd06b3a (diff) | |
download | bugzilla-7353bc8fce1eaed8fa0bba03dcef157eafaf8a42.tar.gz bugzilla-7353bc8fce1eaed8fa0bba03dcef157eafaf8a42.tar.xz |
Bug 385283: bz_webservice_demo.pl --product-name fails (Product.get_product no longer exists)
Part 2: correctly display components, milestones and versions
r/a=LpSolit
-rwxr-xr-x | contrib/bz_webservice_demo.pl | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/contrib/bz_webservice_demo.pl b/contrib/bz_webservice_demo.pl index 3ef81489b..72ec58a88 100755 --- a/contrib/bz_webservice_demo.pl +++ b/contrib/bz_webservice_demo.pl @@ -295,16 +295,24 @@ The call will return a C<Bugzilla::Product> object. if ($product_name) { $soapresult = $proxy->call('Product.get', {'names' => [$product_name]}); _die_on_fault($soapresult); - $result = $soapresult->result; - - if (ref($result) eq 'HASH') { - $result = $result->{'products'}->[0]; - foreach (keys(%$result)) { - print "$_: $result->{$_}\n"; + $result = $soapresult->result()->{'products'}->[0]; + + # Iterate all entries, the values may be scalars or array refs with hash refs. + foreach my $key (sort(keys %$result)) { + my $value = $result->{$key}; + + if (ref($value)) { + my $counter = 0; + foreach my $hash (@$value) { + while (my ($innerKey, $innerValue) = each %$hash) { + print "$key.$counter.$innerKey: $innerValue\n"; + } + ++$counter; } - } - else { - print "$result\n"; + } + else { + print "$key: $value\n" + } } } |