From f1c61866262789a2b3b2e91d114e94d1b2a20042 Mon Sep 17 00:00:00 2001
From: Christian Pointner <equinox@helsinki.at>
Date: Wed, 11 Sep 2019 15:26:32 +0200
Subject: added rebroadcast to onda-info


diff --git a/INFO b/INFO
index 6a0c40d..b6998aa 100644
--- a/INFO
+++ b/INFO
@@ -22,6 +22,7 @@
    Upload: immer am selben Tag
    Such-Kriterium: aufsteigende Nummer (letzte Nummer muss gespeichert werden)
    RH: 2wöchentlich, Woche 1/3, Montag, 07:30-08:00
+       2wöchentlich, Woche 1/3, Freitag, 12:30-13:00, Wiederholung
 
 - (rs) Radio Stimme
    https://cba.fro.at/series/radio-stimme/feed
diff --git a/rhautoimport-oi b/rhautoimport-oi
index 02f30f1..5c01e9b 100755
--- a/rhautoimport-oi
+++ b/rhautoimport-oi
@@ -66,12 +66,16 @@ if(!defined $allowed_dbs[0] && defined $allowed_dbs[1]) {
   exit 1;
 }
 
-if(scalar(@allowed_dbs) != 1) {
-  print "found more or less than one Dropbox for this group?!\n";
+my $idx = 0;
+my $idx_reb = 1;
+if(scalar(@allowed_dbs) != 2) {
+  print "found more or less than 2 Dropboxes for this group?!\n";
   exit 1;
 }
-my $show_id = $allowed_dbs[0]->{'SHOWID'};
-my $show_title = $allowed_dbs[0]->{'SHOWTITLE'};
+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 @today = Date::Calc::Today();
@@ -79,13 +83,15 @@ my @import_date = Date::Calc::Add_Delta_Days(@today, 7);
 @import_date = Date::Calc::Standard_to_Business(@import_date);
 $import_date[2] = 1;
 @import_date = Date::Calc::Business_to_Standard(@import_date);
+my @import_date_reb = Date::Calc::Add_Delta_Days(@import_date, 4);
 
 my $broadcast_num = `cat $LAST_FILE`;
 $broadcast_num += 1;
 
 print "today: " . Date::Calc::Date_to_Text(@today) . " (Week: " . $curweek . ")\n";
 print "day of next Radio Helsinki broadcast: " . Date::Calc::Date_to_Text(@import_date) . "\n";
-print "Number of next broadcast: " . $broadcast_num . "\n\n";
+print "day of next Radio Helsinki rebroadcast: " . Date::Calc::Date_to_Text(@import_date_reb) . "\n";
+print "Number of next original broadcast: " . $broadcast_num . "\n\n";
 
 my $id = sprintf("%04d-%02d-%02d", @import_date);
 my $bdfile = sprintf('.*onda.?info[-_]%d.*\.mp3$', $broadcast_num);
@@ -143,25 +149,56 @@ if($uri eq "") {
   exit 1;
 }
 
-print "\n\nwill import '$uri' to show $show_id, $show_title\n\n";
+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";
+
+  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;
+    }
 
-my ($ret, $log) = rhautoimport::import_uri($show_id, $uri->as_string);
-if($ret) {
+  } 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 {
   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