From df484fd9b6640639c3a6098814b41628d02e5d54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Thu, 6 May 2021 18:21:15 +0200 Subject: Add perlmonks, irc nodes --- run/irc | 21 +++++++++++++++++++++ run/p5p | 10 +++++----- run/perlmonks | 38 ++++++++++++++++++++++++++++++++++++++ run/rss | 6 +++--- 4 files changed, 67 insertions(+), 8 deletions(-) create mode 100644 run/irc create mode 100644 run/perlmonks (limited to 'run') diff --git a/run/irc b/run/irc new file mode 100644 index 0000000..c69af13 --- /dev/null +++ b/run/irc @@ -0,0 +1,21 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use LWP::UserAgent (); + +my $ua = LWP::UserAgent->new(timeout => 5); +$ua->ssl_opts(verify_hostname => 0); +$ua->env_proxy; +$ua->agent(''); + +my $a = 'https://netsplit.de/channels/details.php?room=%23perl&net=freenode'; +my $r = $ua->get($a); +die $r->status_line if not $r->is_success; + +if ($r->decoded_content =~ m{(.*?)$2 +HTML +} diff --git a/run/p5p b/run/p5p index ebb0c62..e343723 100644 --- a/run/p5p +++ b/run/p5p @@ -17,14 +17,14 @@ my %s = %{$nntp->xhdr('Subject', [$last-10, $last])}; 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 < -
-Date: $d{$_} -
From: $f{$_} +
+
Date: $d{$_}
+
From: $f{$_}
+
-Subject: $s{$_} -

HTML } diff --git a/run/perlmonks b/run/perlmonks new file mode 100644 index 0000000..1f1e5b3 --- /dev/null +++ b/run/perlmonks @@ -0,0 +1,38 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use LWP::UserAgent (); +use Time::Piece; +use XML::LibXML; + +# Retrieve XML +my $ua = LWP::UserAgent->new(timeout => 5); +$ua->ssl_opts(verify_hostname => 0); +$ua->env_proxy; +$ua->agent(''); +my $a = 'https://www.perlmonks.org/?node_id=30175'; +my $r = $ua->get($a); +die $r->status_line if not $r->is_success; + +# Parse XML +my $dom = XML::LibXML->load_xml(string => $r->decoded_content); + +# Print HTML representation of each node +my $i; +for my $node ($dom->findnodes('/NEWESTNODES/NODE')) { + my $d = Time::Piece->strptime(($node->findnodes('./@createtime'))[0]->to_literal, '%Y%m%d%H%M%S')->strftime('%a, %e %B %Y %H:%M:%S UTC'); + my $f = ($node->findnodes('./@authortitle'))[0]->to_literal; + (my $s = $node->to_literal) =~ s/^\s+|\s+$//; + next if $s eq $f; # Skip home nodes + my $l = 'https://www.perlmonks.org/?node_id=' . ($node->findnodes('./@node_id'))[0]->to_literal; + print < +
Date: $d
+
From: $f
+ +
+HTML + last if ++$i >= 5; +} diff --git a/run/rss b/run/rss index 2dfb60f..5511350 100644 --- a/run/rss +++ b/run/rss @@ -20,14 +20,14 @@ my @entries = $feed->entries; # Print summary of five latest entries for my $entry (@entries[0..4]) { - my $d = encode_entities $entry->issued->ymd; + my $d = encode_entities $entry->issued->strftime('%a, %e %B %Y %H:%M:%S UTC'); my $f = encode_entities decode('utf8', $entry->author); my $s = encode_entities decode('utf8', $entry->title); my $l = encode_entities $entry->link; print < -
$d
-
$f
+
Date: $d
+
From: $f
HTML -- cgit v1.2.3