1 |
#!/usr/bin/perl -w |
#!/usr/bin/perl -w |
2 |
|
|
3 |
use Plucene::Simple; |
use Data::Dumper; |
4 |
use Mail::Box::Manager; |
use MWS; |
5 |
|
use Template; |
6 |
|
|
7 |
my $debug = 1; |
my $debug = 1; |
8 |
|
|
9 |
my $index = Plucene::Simple->open( "index" ) || die "can't open index: $!"; |
my $mws = MWS->new('global.conf'); |
|
my $mgr = Mail::Box::Manager->new; |
|
|
my $folder; # placeholder for folders |
|
10 |
|
|
11 |
my @index_ids = $index->search(join(" ",@ARGV)); |
my $s=join(" ",@ARGV); |
12 |
|
|
13 |
my $results = $#index_ids + 1; |
my $results = $mws->search($s); |
14 |
print "$results results...\n"; |
print "$results results...\n"; |
15 |
|
|
16 |
foreach my $index_id (@index_ids) { |
my $t = Template->new({ |
17 |
my ($mbox,$id) = split(/ /,$index_id); |
INCLUDE_PATH => $mws->{config}->val('global', 'templates'), |
18 |
|
}); |
19 |
|
|
20 |
|
my @res = $mws->fetch_all_results(); |
21 |
|
|
22 |
|
$t->process("results.txt", { |
23 |
|
query => $s, |
24 |
|
results => \@res, |
25 |
|
}) || die $t->error(); |
26 |
|
|
|
if (! $folder->{$mbox}) { |
|
|
$folder->{$mbox} = $mgr->open($mbox); |
|
|
print STDERR "## open($mbox)\n" if ($debug); |
|
|
} |
|
|
|
|
|
my $message = $folder->{$mbox}->find($id) || |
|
|
print STDERR "can't find message $id in $mbox. Time to re-index?\n"; |
|
|
foreach my $from ($message->from) { |
|
|
print $from->phrase," [",$from->address,"] ",$from->comment,"\n"; |
|
|
} |
|
|
print " ",$message->get('Subject'),"\n"; |
|
|
|
|
|
} |
|