]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/SOAP.pm
use binary_to_source cache in Debbugs::SOAP::get_status
[debbugs.git] / Debbugs / SOAP.pm
index 5cb08bb0f11eff7de6ab49dea880731a13dcb8b3..a0c3cbf2190d06ea3f5b04dfb9d9278039929990 100644 (file)
@@ -25,7 +25,8 @@ use warnings;
 use strict;
 use vars qw($DEBUG %EXPORT_TAGS @EXPORT_OK @EXPORT);
 use Debbugs::SOAP::Server;
-use base qw(Exporter SOAP::Server::Parameters);
+use Exporter qw(import);
+use base qw(SOAP::Server::Parameters);
 
 BEGIN{
      $DEBUG = 0 unless defined $DEBUG;
@@ -41,7 +42,8 @@ BEGIN{
 
 use IO::File;
 use Debbugs::Status qw(get_bug_status);
-use Debbugs::Common qw(make_list getbuglocation getbugcomponent :utf8);
+use Debbugs::Common qw(make_list getbuglocation getbugcomponent);
+use Debbugs::UTF8;
 use Debbugs::Packages;
 
 use Storable qw(nstore retrieve dclone);
@@ -125,6 +127,7 @@ sub get_status {
              @bugs = @{$bugs[0]};
      }
      my %status;
+     my %binary_to_source_cache;
      for my $bug (@bugs) {
          my $bug_status;
          if (ref($bug)) {
@@ -132,11 +135,14 @@ sub get_status {
               next unless defined $param{bug};
               $bug = $param{bug};
               $bug_status = get_bug_status(map {(exists $param{$_})?($_,$param{$_}):()}
-                                           qw(bug dist arch bugusertags sourceversions version indicatesource)
+                                           qw(bug dist arch bugusertags sourceversions version indicatesource),
+                                           binary_to_source_cache => \%binary_to_source_cache,
                                           );
          }
          else {
-              $bug_status = get_bug_status(bug => $bug);
+             $bug_status = get_bug_status(bug => $bug,
+                                          binary_to_source_cache => \%binary_to_source_cache,
+                                         );
          }
          if (defined $bug_status and keys %{$bug_status} > 0) {
               $status{$bug}  = $bug_status;
@@ -231,7 +237,6 @@ sub get_bug_log{
 
      my %seen_msg_ids;
      my $current_msg=0;
-     my $status = {};
      my @messages;
      while (my $record = $log->read_record()) {
          $current_msg++;
@@ -342,7 +347,7 @@ architectures are at which versions.
 
 =back
 
-This function correponds to L<Debbugs::Packages::get_versions>
+This function corresponds to L<Debbugs::Packages::get_versions>
 
 =cut