#!/usr/bin/perl -w # # # rhautoimport # # Copyright (C) 2009-2017 Christian Pointner # # This file is part of rhautoimport. # # rhautoimport is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. # # rhautoimport is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with rhautoimport. If not, see . # use strict; use attributes; use Date::Calc; use XML::Feed; use XML::Feed::Entry; use XML::Feed::Content; use XML::Feed::Enclosure; use URI::URL; use HTML::Entities; use lib '../../rhrdlibs/lib/'; use lib '../'; use rhautoimport; use Data::Dumper::Simple; $XML::Feed::MULTIPLE_ENCLOSURES=1; if($#ARGV != 0) { print "Usage: cba-inspect \n"; exit 1; } my $RSS_URL = $ARGV[0]; binmode(STDIN, ":utf8"); binmode(STDOUT, ":utf8"); binmode(STDERR, ":utf8"); my ($result, $feed) = rhautoimport::fetch_parse_rss_cba($RSS_URL); unless ($result) { print "Error fetching feed: $feed\n"; exit 1; } my $uri = ""; my $file = ""; my $sum_title = ""; my $sum_text = ""; my $i = 0; for my $entry ($feed->entries) { $i++; next unless $entry->enclosure; $sum_title = decode_entities($entry->title); $sum_text = decode_entities($entry->content->body); my $production_date = $entry->{'entry'}{'https://cba.media/help#feeds'}{'productionDate'}; $production_date = '' unless (defined $production_date); my $broadcast_date = $entry->{'entry'}{'https://cba.media/help#feeds'}{'broadcastDate'}; $broadcast_date = '' unless (defined $broadcast_date); my $contains_copyright = $entry->{'entry'}{'https://cba.media/help#feeds'}{'containsCopyright'}; $contains_copyright = 'false' unless (defined $contains_copyright); print $sum_title . ":\n"; print " Issued: " . $entry->issued . "\n"; print " Production: " . $production_date . "\n"; print " Broadcast: " . $broadcast_date . "\n"; print " Contains Copyright: " . $contains_copyright . "\n"; print " Files:\n"; my $j = 0; for my $enclosure($entry->enclosure) { $j++; if($enclosure->type eq "audio/mpeg" || $enclosure->type eq "audio/ogg") { my $orig_uri = $enclosure->url; if($orig_uri =~ /^(.*)_cut(\.[^\.]+)$/) { $orig_uri = $1 . $2; } $uri = new URI::URL($orig_uri); my @path = $uri->path_components; $file = $path[-1]; print " $j: (" . $enclosure->type . ", " . $enclosure->length . ") " . $file . "\n"; } } print "\n"; } exit 0;