/[mws]/trunk/MWS.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/MWS.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 16 by dpavlin, Thu May 6 23:06:08 2004 UTC revision 17 by dpavlin, Fri May 7 11:25:01 2004 UTC
# Line 47  sub new { Line 47  sub new {
47          $self->{folder} = {};          $self->{folder} = {};
48    
49          $self->{wrap_margin} = $self->{config}->val('global', 'wrap_margin');          $self->{wrap_margin} = $self->{config}->val('global', 'wrap_margin');
50            $self->{max_results} = $self->{config}->val('global', 'max_results') || 100;
51    
52          return $self;          return $self;
53  }  }
# Line 106  sub fetch_message { Line 107  sub fetch_message {
107                  print STDERR "close_folder($mbox) forced on ",$self->{fetch_count},"iteration\n";                  print STDERR "close_folder($mbox) forced on ",$self->{fetch_count},"iteration\n";
108          }          }
109                    
110          return $self->open_folder($mbox)->find($id) ||          my $msg = $self->open_folder($mbox)->find($id);
111            if ($msg) {
112                    return $msg;
113            } else {
114                  print STDERR "can't find message $id in $mbox. Time to re-index?\n";                  print STDERR "can't find message $id in $mbox. Time to re-index?\n";
115                    return;
116            }
117  }  }
118    
119    
# Line 121  sub search { Line 127  sub search {
127    
128          $self->{'index_ids'} = \@index_ids;          $self->{'index_ids'} = \@index_ids;
129    
130          my $results = $#index_ids + 1;          #my $results = $#index_ids + 1;
131          $self->{'results'} = $results;          #$self->{'results'} = $results;
132            
133            my $results = $self->{'total_hits'} || ($#index_ids + 1);
134    
135          $self->{'curr_result'} = 0;          $self->{'curr_result'} = 0;
136    
# Line 143  sub decode_qp($) { Line 151  sub decode_qp($) {
151                  $qp =~ s/=([a-f0-9][a-f0-9])/chr(hex($1))/ieg;                  $qp =~ s/=([a-f0-9][a-f0-9])/chr(hex($1))/ieg;
152                  $qp =~ s/_/ /g;                  $qp =~ s/_/ /g;
153          print STDERR "$qp\n" if ($debug == 2);          print STDERR "$qp\n" if ($debug == 2);
154                  return $iconv->convert($qp);                  return $iconv->convert($qp) || $qp;
155          }          }
156    
157          $tmp =~ s/=\?([^\?]+)\?Q\?(.+)\?=/decode($1,$2)/ex;          $tmp =~ s/=\?([^\?]+)\?Q\?(.+?)\?=/decode($1,$2)/ex;
158            $tmp =~ s/^\s*["']+(.*?)["']+\s*$/$1/g;
159          return $tmp;          return $tmp;
160  }  }
161    
# Line 157  sub unroll($$$) { Line 166  sub unroll($$$) {
166    
167          my @arr;          my @arr;
168    
169            return if (! $message->$part);
170    
171          foreach my $from ($message->$part) {          foreach my $from ($message->$part) {
172                  my $tmp = $from->$sub || next;                  my $tmp = $from->$sub || next;
173    
174                  $tmp = $self->decode_qp($tmp);                  $tmp = $self->decode_qp($tmp);
                 $tmp =~ s/^\s*["'](.*)["']\s*$/$1/;  
175                  push @arr, $tmp;                  push @arr, $tmp;
176          }          }
177    
# Line 240  sub fetch_result_by_id { Line 250  sub fetch_result_by_id {
250    
251                  print STDERR "fetch_result_by_id($id) not in cache, hitting disk\n" if ($debug == 2);                  print STDERR "fetch_result_by_id($id) not in cache, hitting disk\n" if ($debug == 2);
252    
253                  my $message = $self->fetch_message($id) || print STDERR "can't fetch message '$id'";                  my $message = $self->fetch_message($id) || return;
254    
255                  $row->{'id'} = $id;                  $row->{'id'} = $id;
256                  @{$row->{'from'}} = $self->unroll($message,'from','phrase');                  @{$row->{'from'}} = $self->unroll($message,'from','phrase');

Legend:
Removed from v.16  
changed lines
  Added in v.17

  ViewVC Help
Powered by ViewVC 1.1.26