From ab494bed6040a91102e58684441319ef718277da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Mon, 10 May 2021 14:54:37 +0200 Subject: p5p: Fix message IDs from Gmane --- run/p5p | 49 ++++++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/run/p5p b/run/p5p index 5e54f98..7c3d38c 100755 --- a/run/p5p +++ b/run/p5p @@ -6,36 +6,43 @@ use Net::NNTP; use HTML::Entities; my @alt = ( - ['nntp.perl.org' => 'perl.perl5.porters'], - ['news.gmane.io' => 'gmane.comp.lang.perl.perl5.porters'], + { + server => 'nntp.perl.org', + group => 'perl.perl5.porters', + offset => 0 + }, + { + server => 'news.gmane.io', + group => 'gmane.comp.lang.perl.perl5.porters', + offset => 77786 + }, ); -my ($nntp, $count, $first, $last); for my $alt (@alt) { - $nntp = Net::NNTP->new($alt->[0], Timeout => 10) - or next; - ($count, $first, $last) = $nntp->group($alt->[1]); - last; -} -die "Cannot retrieve news: $!" if not $nntp; + my $nntp = Net::NNTP->new($alt->{server}, Timeout => 10) or next; + my ($count, $first, $last) = $nntp->group($alt->{group}); -my %d = %{$nntp->xhdr('Date', [$last-10, $last])}; -my %f = %{$nntp->xhdr('From', [$last-10, $last])}; -my %s = %{$nntp->xhdr('Subject', [$last-10, $last])}; + my %d = %{$nntp->xhdr('Date', [$last-10, $last])}; + my %f = %{$nntp->xhdr('From', [$last-10, $last])}; + my %s = %{$nntp->xhdr('Subject', [$last-10, $last])}; -# TODO: Escape potential HTML characters + # TODO: Handle strings like "=?utf-8?Q?readers=E2=80=99_?=time" -for ((reverse sort keys %d)[0..4]) { - $_ = encode_entities($_) for ($d{$_}, $f{$_}, $s{_}); - $f{$_} =~ s,@[^.]*\.,@hidden.,; - my $l = "https://www.nntp.perl.org/group/perl.perl5.porters/0/0/msg$_.html"; - print <hidden.,; + my $n = $_ + $alt->{offset}; + my $u = "https://www.nntp.perl.org/group/perl.perl5.porters/0/0/msg$n.html"; + print <
Date: $d{$_}
From: $f{$_}
- + HTML -} + } -$nntp->quit; + $nntp->quit; + exit 0; +} +die "Cannot retrieve news: $!"; -- cgit v1.2.3