/usr/share/perl5/WWW/Topica/Index.pm is in libwww-topica-perl 0.6-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | package WWW::Topica::Index;
use strict;
=pod
=head1 NAME
WWW::Topica::Index - parse a single Topic mailing list index
=head1 SYNOPSIS
my $index = WWW::Topic::Index->new($index_html);
foreach my $mess_id ($index->message_ids) {
# the mail has some information and also provides a link to the reply ...
my $mail = WWW::Topica::Mail->new($topica->fetch_mail($mess_id), $mess_id);
# which has other information (like the un-htmled mail and the email address) ...
my $reply = WWW::Topica::Reply->new($topica->fetch_reply($mail->id, $mail->eto), $mail->id, $mail->eto);
}
print "Next offset is ".$index->next."\n";
print "Previous offset is ".$index->prev."\n";
=head1 DESCRIPTION
Used to parse a single index page from Topica.com's mailing list indexes.
=head1 METHODS
=cut
=head2 new <page html>
=cut
sub new {
my ($class, $html) = @_;
my $self = { };
bless $self, $class;
$self->parse($html);
return $self;
}
=head2 parse <html>
Parse the html to get message ids and next & prev offsets.
=cut
sub parse {
my ($self, $html) = @_;
my $list = $self->{list};
($self->{prev}) = ( $html =~ m!<A HREF="/lists/[^/]+/read\?sort\=d\&start\=(\d+)"><IMG SRC="http://lists.topica.com/art/rewind\.gif"!m );
($self->{next}) = ( $html =~ m!<A HREF="/lists/[^/]+/read\?sort\=d\&start\=(\d+)"><IMG SRC="http://lists.topica.com/art/fastForward\.gif"!m );
my (@message_ids) = ($html =~ m!/lists/[^/]+/read/message\.html\?mid\=(\d+)!gs);
$self->{_message_ids} = \@message_ids;
}
=head2 message_ids
Return all the messge ids found on the page
=cut
sub message_ids {
my $self = shift;
return @{$self->{_message_ids}};
}
=head2 prev
Return the offset of the previous page or undef if there is none.
=cut
sub prev {
return $_[0]->{prev};
}
=head2 next
Return the offset of the next page or undef if there is none.
=cut
sub next {
return $_[0]->{next};
}
1;
=head1 AUTHOR
Simon Wistow <simon@thegestalt.org>
=head1 COPYRIGHT
Copyright (c) 2004, Simon Wistow
=cut
|