#!/usr/bin/perl

use strict;
use warnings;

use XML::FeedPP;
use Encode qw 'decode encode';
use File::Spec::Functions;
use pkt;

my %urls;

	$urls{'RU.APHORISM'}    = 'https://www.anekdot.ru/rss/export_a.xml';
	$urls{'RU.ANECDOT'}     = 'https://www.anekdot.ru/rss/export_j.xml';
	$urls{'RU.FUNNY_STORY'} = 'https://www.anekdot.ru/rss/export_o.xml';

my $outdir = '/home/fido/tmp/rss';
my $wgetcmd = 'wget';
my ( $msg_fromname, $msg_toname, $msg_fromaddr, $msg_toaddr,
     $pkt_from, $pkt_to, $password ) =
   ( 'RSS Robot', 'All', '2:460/358', undef,
     '2:460/358.123', '2:460/358', '12345678' );

my ( $url, $feed, $ssubj, $surl, $stext, $key );

my $tmpfilename = catfile( $outdir, time() );
my $msgs = '';

foreach $key ( keys %urls ){
	print "$key\n";
	system( "$wgetcmd -O $tmpfilename $urls{$key}" );
	$feed = XML::FeedPP->new( $tmpfilename );
	foreach my $item ( $feed->get_item() ) {
		$surl  = $item->link();
		$ssubj = $item->title();
		$ssubj = encode('cp866', decode( 'utf-8', $ssubj ) );
		$stext = $item->description();
		$stext =~ s/\<br\>/\r/ig;
		$stext =~ s/\%nbsp\;/ /ig;
		$stext = encode('cp866', decode( 'utf-8', $stext ) );
		print "$ssubj\n";
   		writepkt( $outdir, 
		    packpkt( $pkt_from, $pkt_to, $password,
			packedmsg( $msg_fromname, $msg_toname, $msg_fromaddr,
				$msg_toaddr, LOC, "\r$stext\r\r$surl\r", $ssubj,
				$key, 'CP866') ) );
	}
	unlink $tmpfilename;
}
