Author: adam-guest
Date: 2008-02-26 22:24:05 +0000 (Tue, 26 Feb 2008)
New Revision: 1064

Modified:
   trunk/Devscripts/Debbugs.pm
   trunk/debian/changelog
Log:
Debbugs.pm: Update to match the current debbugs SOAP interface. Add
  newest_bugs(), bug_log(), source_to_binary() and binary_to_source()


Modified: trunk/Devscripts/Debbugs.pm
===================================================================
--- trunk/Devscripts/Debbugs.pm 2008-02-26 22:05:41 UTC (rev 1063)
+++ trunk/Devscripts/Debbugs.pm 2008-02-26 22:24:05 UTC (rev 1064)
@@ -244,6 +244,85 @@
     return $versions;
 }
 
+sub newest_bugs {
+    die "Couldn't run newest_bugs: $soap_broken\n" unless have_soap();
+    my $count = shift || '';
+
+    return if $count !~ /^\d+$/;
+
+    my $soap = SOAP::Lite->uri($soapurl)->proxy($soapproxyurl);
+
+    my $bugs = $soap->newest_bugs($count)->result();
+
+    if (not defined $bugs) {
+       die "Error while retrieving newest bug list from SOAP server: $@";
+    }
+
+    return $bugs;
+}
+
+# debbugs currently ignores the $msg_num parameter
+# but eventually it might not, so we support passing it
+
+sub bug_log {
+    die "Couldn't run bug_log: $soap_broken\n" unless have_soap();
+
+    my $bug = shift || '';
+    my $message = shift;
+
+    return if $bug !~ /^\d+$/;
+
+    my $soap = SOAP::Lite->uri($soapurl)->proxy($soapproxyurl);
+    my $log = $soap->get_bug_log($bug, $message)->result();
+
+    if (not defined $log) {
+       die "Error while retrieving bug log from SOAP server: $@";
+    }
+
+    return $log;
+}
+
+sub binary_to_source {
+    die "Couldn't run binary_to_source: $soap_broken\n"
+       unless have_soap();
+
+    my $soap = SOAP::Lite->uri($soapurl)->proxy($soapproxyurl);
+
+    my $binpkg = shift || '';
+    my $binver = shift || '';
+    my $arch = shift || '';
+
+    return if not $binpkg or not $binver;
+
+    my $mapping = $soap->binary_to_source($binpkg, $binver, $arch)->result();
+
+    if (not defined $mapping) {
+       die "Error while retrieving binary to source mapping from SOAP server: 
$@";
+    }
+
+    return $mapping;
+}
+
+sub source_to_binary {
+    die "Couldn't run source_to_binary: $soap_broken\n"
+       unless have_soap();
+
+    my $soap = SOAP::Lite->uri($soapurl)->proxy($soapproxyurl);
+
+    my $srcpkg = shift || '';
+    my $srcver = shift || '';
+
+    return if not $srcpkg or not $srcver;
+
+    my $mapping = $soap->source_to_binary($srcpkg, $srcver)->result();
+
+    if (not defined $mapping) {
+       die "Error while retrieving source to binary mapping from SOAP server: 
$@";
+    }
+
+    return $mapping;
+}
+
 1;
 
 __END__

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog      2008-02-26 22:05:41 UTC (rev 1063)
+++ trunk/debian/changelog      2008-02-26 22:24:05 UTC (rev 1064)
@@ -6,8 +6,9 @@
     + Add detection for <<<, $(OS|MACH)TYPE, $HOST(TYPE|NAME), $EUID,
       $DIRSTACK, $SECONDS and /dev/(tcp|udp) (Closes: #465386)
     + Enhance heredoc detection to not trigger on <<<
-  * Debbugs.pm: Add status(), usertags() versions() and
-    versions_with_arch()
+  * Debbugs.pm: Update to match the current debbugs SOAP interface. Add
+    status(), usertags(), versions() and versions_with_arch(),
+    newest_bugs(), bug_log(), source_to_binary() and binary_to_source()
   * tagpending:
     + Rewrite in perl using Debbugs.pm
     + Optionally (and by default) include the changelog header line and



-- 
To unsubscribe, send mail to [EMAIL PROTECTED]

Reply via email to