From e9df7e0e4b726d3f1cb92ea645fb3583c94d485b Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Wed, 13 Jan 2021 20:53:17 +0100 Subject: adapt GD importer - however currently there is no reliable system to detect the right file diff --git a/INFO b/INFO index ff15bc9..1206038 100644 --- a/INFO +++ b/INFO @@ -56,8 +56,7 @@ Original: wöchentlich Dienstags, 13:00 Upload: manchmal einen tag davor, oft bis zu 3 Tage danach Such-Kriterium: cba:broadcastDate wenn gesetzt sonst cba:productionDate - RH: wöchentlich, Montag, 13:30-14:30 - wöchentlich, Donnerstag, 08:00-09:00, Wiederholung + RH: wöchentlich, Donnerstag, 08:00-09:00 - (ra) Radio Attac: https://cba.fro.at/series/radioattac/feed diff --git a/rhautoimport-gd b/rhautoimport-gd index 89d84c3..69b046e 100755 --- a/rhautoimport-gd +++ b/rhautoimport-gd @@ -32,6 +32,8 @@ use URI::URL; use HTML::Entities; use lib '/usr/local/share/rhautoimport/'; +use lib '../rhrdlibs/lib'; +use lib './'; use rhautoimport; my $STAT_FILE = $ENV{'HOME'} . "/rhautoimport-gd.stat"; @@ -41,7 +43,7 @@ my $RD_GROUP = "womenonair"; my $PV_ID = '210'; my $TITLE="Women on Air present: Globale Dialoge"; my $LAST_RUN = 0; -my $upload_delay_days = 1; # files are usually delayed at least one day +my $upload_delay_days = 0; # files are usually delayed about one day binmode(STDIN, ":utf8"); binmode(STDOUT, ":utf8"); @@ -60,41 +62,35 @@ if(!defined $allowed_dbs[0] && defined $allowed_dbs[1]) { exit 1; } -my $idx = 0; -my $idx_reb = 1; -if(scalar(@allowed_dbs) != 2) { - print "found more or less than 2 Dropboxes for this group?!\n"; +if(scalar(@allowed_dbs) != 1) { + print "found more or less than one Dropbox for this group?!\n"; exit 1; } -my $show_id = $allowed_dbs[$idx]->{'SHOWID'}; -my $show_title = $allowed_dbs[$idx]->{'SHOWTITLE'}; -my $show_id_reb = $allowed_dbs[$idx_reb]->{'SHOWID'}; -my $show_title_reb = $allowed_dbs[$idx_reb]->{'SHOWTITLE'}; +my $show_id = $allowed_dbs[0]->{'SHOWID'}; +my $show_title = $allowed_dbs[0]->{'SHOWTITLE'}; my @today = Date::Calc::Today(); -my @tmp = Date::Calc::Standard_to_Business(@today); -my $dow = $tmp[2]; -if($dow > 1 && $dow < 5) { - print "please don't run this script Tuesday, Wednesday or Thursday!\n"; - exit 42; -} -$tmp[2] = 2; -my @broadcast_date = Date::Calc::Business_to_Standard(@tmp); -if($dow == 1) { - @broadcast_date = Date::Calc::Add_Delta_Days(@broadcast_date, -7); +print "today: " . Date::Calc::Date_to_Text(@today) . "\n"; + +my @import_date = Date::Calc::Standard_to_Business(@today); +$import_date[2] = 4; +@import_date = Date::Calc::Business_to_Standard(@import_date); + +my $dow = Date::Calc::Day_of_Week(@today); +if($dow > 4) { + @import_date = Date::Calc::Add_Delta_Days(@import_date, 7); } -my @import_date = Date::Calc::Add_Delta_Days(@broadcast_date, 6); -my @import_date_reb = Date::Calc::Add_Delta_Days(@import_date, 3); -print "day of original broadcast: " . Date::Calc::Date_to_Text(@broadcast_date) . "\n"; -print "day of Radio Helsinki broadcast: " . Date::Calc::Date_to_Text(@import_date) . "\n"; -print "day of Radio Helsinki rebroadcast: " . Date::Calc::Date_to_Text(@import_date_reb) . "\n"; +my @broadcast_date = Date::Calc::Add_Delta_Days(@import_date, -2); +print "day of next Radio Helsinki broadcast: " . Date::Calc::Date_to_Text(@import_date) . "\n"; +print "day of latest original broadcast before next Radio Helsinki broadcast: " . Date::Calc::Date_to_Text(@broadcast_date) . "\n"; if(Date::Calc::Delta_Days(@broadcast_date, @today) <= $upload_delay_days) { print "File won't be available by now!\n"; exit 42; } +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 (will be using cba:productionDate if cba:broadcastDate is not set)\n"; @@ -171,56 +167,25 @@ if($uri eq "") { exit 1; } -my $exit_code = 0; -print "\n\nwill import '$uri' to show $show_id, $show_title\n"; -my ($ret, $log, $keptfile_uri) = rhautoimport::import_uri($show_id, $uri->as_string, "keep"); -if($ret == 0) { - print "\nImport Success:\n\n"; - print $log; - print "\n"; - ($ret, $log) = rhautoimport::pv_add_note($sum_title, $sum_text, $PV_ID, sprintf("%04d-%02d-%02d", @import_date), "1"); - print $log; - if($ret) { - print "\nIgnoring failed note import - manual intervention necessary!\n"; - $exit_code = 23; - } - - print "\n"; +print "\n\nwill import '$uri' to show $show_id, $show_title\n\n"; - if(!defined($keptfile_uri)) { - print "rhimportd didn't provide a clue where to find the kept file... will import '$uri' to rebroadcast $show_id_reb, $show_title_reb\n"; - ($ret, $log) = rhautoimport::import_uri($show_id_reb, $uri->as_string); - } else { - print "re-using kept file '$keptfile_uri' to import rebroadcast $show_id_reb, $show_title_reb\n"; - ($ret, $log) = rhautoimport::import_uri($show_id_reb, $keptfile_uri, "delete"); - } - - if($ret == 0) { - print "\nImport Success:\n\n"; - print $log; - print "\n"; - ($ret, $log) = rhautoimport::pv_add_note($sum_title, $sum_text, $PV_ID, sprintf("%04d-%02d-%02d", @import_date_reb), "2"); - print $log; - if($ret) { - print "\nIgnoring failed note import - manual intervention necessary!\n"; - $exit_code = 23; - } - - } else { - print "\nImport Error:\n\n"; - print $log; - print "\n\nNot adding PV note!!"; - print "\n\nSince the import for the regular broadcast went through we will not retry this import!!!"; - print "\nYou need to manually import the rebroadcast."; - print "\n\n --> https://import.helsinki.at/shows/$show_id_reb\n"; - $exit_code = 23; - } -} else { +my ($ret, $log) = rhautoimport::import_uri($show_id, $uri->as_string); +if($ret) { print "\nImport Error:\n\n"; print $log; print "\n\nNot adding PV note!!"; exit 1; } +print "\nImport Success:\n\n"; +print $log; +print "\n"; +my $exit_code = 0; +($ret, $log) = rhautoimport::pv_add_note($sum_title, $sum_text, $PV_ID, $id, "1"); +print $log; +if($ret) { + print "\nIgnoring failed note import - manual intervention necessary!\n"; + $exit_code = 23; +} unlink($STAT_FILE); open(my $fhs, '>', $STAT_FILE); -- cgit v0.10.2