]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/SOAP.pm
supply users to Debbugs::Collection::Bug
[debbugs.git] / Debbugs / SOAP.pm
index 66de901d0787796741a0e136cb66bfa431d05737..a0c3cbf2190d06ea3f5b04dfb9d9278039929990 100644 (file)
@@ -24,7 +24,9 @@ None known.
 use warnings;
 use strict;
 use vars qw($DEBUG %EXPORT_TAGS @EXPORT_OK @EXPORT);
-use base qw(Exporter SOAP::Server::Parameters);
+use Debbugs::SOAP::Server;
+use Exporter qw(import);
+use base qw(SOAP::Server::Parameters);
 
 BEGIN{
      $DEBUG = 0 unless defined $DEBUG;
@@ -38,14 +40,13 @@ BEGIN{
 
 }
 
-
 use IO::File;
 use Debbugs::Status qw(get_bug_status);
 use Debbugs::Common qw(make_list getbuglocation getbugcomponent);
+use Debbugs::UTF8;
 use Debbugs::Packages;
-use Data::Walk;
-use Encode qw(encode_utf8);
-use Storable qw(nstore retrieve);
+
+use Storable qw(nstore retrieve dclone);
 use Scalar::Util qw(looks_like_number);
 
 
@@ -126,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)) {
@@ -133,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;
@@ -232,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++;
@@ -343,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
 
@@ -389,14 +393,6 @@ sub __collapse_params{
      return %params;
 }
 
-sub encode_utf8_structure {
-    return walk \&__encode_utf8, @_;
-}
-
-sub __encode_utf8 {
-    $_ = encode_utf8($_) unless ref $_ or not is_utf8($_);
-}
-
 
 1;