diff options
author | Christian Pointner <equinox@helsinki.at> | 2019-01-30 13:20:37 (GMT) |
---|---|---|
committer | Christian Pointner <equinox@helsinki.at> | 2019-01-30 13:20:37 (GMT) |
commit | 01ff101609b75b59b55e9530073a74e83f527af6 (patch) | |
tree | 332957eecb98be6e6ab239251fb974ac347a7f54 /rhautoimport-po | |
parent | a06b8c6debe1f21431bf9d2bc30e6ae16bdb650c (diff) |
make date selection for Panoptikum robust
Diffstat (limited to 'rhautoimport-po')
-rwxr-xr-x | rhautoimport-po | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/rhautoimport-po b/rhautoimport-po index 13153c4..49947fb 100755 --- a/rhautoimport-po +++ b/rhautoimport-po @@ -42,7 +42,7 @@ my $RD_GROUP = "panoptikum"; my $PV_ID = '570'; my $TITLE="Panoptikum"; my $LAST_RUN = 0; -my $upload_delay_days = 0; # files are usally there on the same day of the original broadcast +my $upload_delay_days = 3; # files are usally there 3 days after the original broadcast binmode(STDIN, ":utf8"); binmode(STDOUT, ":utf8"); @@ -110,7 +110,7 @@ if(Date::Calc::Delta_Days(@broadcast_date, @today) <= $upload_delay_days) { my $id = sprintf("%04d-%02d-%02d", @import_date); my $bd = sprintf("%04d-%02d-%02d", @broadcast_date); -print "looking for files with cba:broadcastDate $bd in RSS Feed\n"; +print "looking for files with cba:broadcastDate $bd in RSS Feed (will be using cba:productionDate if cba:broadcastDate is not set)\n"; print " -> $RSS_URL\n"; my ($result, $feed) = rhautoimport::fetch_parse_rss_cba($RSS_URL); @@ -130,8 +130,13 @@ for my $entry ($feed->entries) { next unless $entry->enclosure; my $entry_bdt = $entry->{'entry'}{'https://cba.fro.at/help#feeds'}{'broadcastDate'}; + my $format_string = "%a, %d %b %Y %H:%M:%S"; + unless (defined $entry_bdt) { + $entry_bdt = $entry->{'entry'}{'https://cba.fro.at/help#feeds'}{'productionDate'}; + $format_string = "%a, %d %b %Y"; + } next unless (defined $entry_bdt); - my $bdt = DateTime::Format::Strptime::strptime("%a, %d %b %Y %H:%M:%S", $entry_bdt); + my $bdt = DateTime::Format::Strptime::strptime($format_string, $entry_bdt); next unless($broadcast_date[0] == $bdt->year && $broadcast_date[1] == $bdt->month && $broadcast_date[2] == $bdt->day); |