From e9df7e0e4b726d3f1cb92ea645fb3583c94d485b Mon Sep 17 00:00:00 2001
From: Christian Pointner <equinox@spreadspace.org>
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