aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Schöning <tschoening@am-soft.de>2012-11-23 00:37:39 +0100
committerFrédéric Buclin <LpSolit@gmail.com>2012-11-23 00:37:39 +0100
commitb494561c89c1d9d162a705fc7b608b71a2eefc45 (patch)
tree97aa89d46233fa45424d0fcd097d7e50d134a3b9 /contrib
parentFix build bustage (diff)
downloadbugzilla-b494561c89c1d9d162a705fc7b608b71a2eefc45.tar.gz
bugzilla-b494561c89c1d9d162a705fc7b608b71a2eefc45.tar.bz2
bugzilla-b494561c89c1d9d162a705fc7b608b71a2eefc45.zip
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
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/bz_webservice_demo.pl26
1 files changed, 17 insertions, 9 deletions
diff --git a/contrib/bz_webservice_demo.pl b/contrib/bz_webservice_demo.pl
index 32b9e27a1..3b87cf5b5 100755
--- a/contrib/bz_webservice_demo.pl
+++ b/contrib/bz_webservice_demo.pl
@@ -301,16 +301,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"
+ }
}
}