From a6559766df0b82f8bd7ba60fca32815ea6fc44d9 Mon Sep 17 00:00:00 2001
From: Christian Pointner <equinox@helsinki.at>
Date: Thu, 26 May 2016 14:26:26 +0200
Subject: netwatcher has a rebroadcast now


diff --git a/rhautoimport-nw b/rhautoimport-nw
index 697b003..53011cd 100755
--- a/rhautoimport-nw
+++ b/rhautoimport-nw
@@ -30,6 +30,7 @@ use XML::Feed::Enclosure;
 use URI::URL;
 use HTML::Entities;
 
+use lib '../rhrdlibs/lib/';
 use lib '/usr/local/share/rhautoimport/';
 use rhautoimport;
 
@@ -56,15 +57,22 @@ 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();
+@today = Date::Calc::Add_Delta_Days(@today, -7);
+
+
 my @import_date = @today;
 if( Date::Calc::Day_of_Week(@today) > 3 ) {
   @import_date = Date::Calc::Add_Delta_Days(@import_date, 7);
@@ -75,8 +83,10 @@ if( Date::Calc::Day_of_Week(@today) != 3 ) {
   @import_date = Date::Calc::Business_to_Standard(@import_date);
 }
 my @broadcast_day = Date::Calc::Add_Delta_Days(@import_date, -5);
+my @import_date_reb = Date::Calc::Add_Delta_Days(@import_date, 3);
 print "day of original broadcast: " . Date::Calc::Date_to_Text(@broadcast_day) . "\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 $id = sprintf("%04d-%02d-%02d", @import_date);
 my $bd = sprintf("%04d-%02d-%02d", @broadcast_day);
@@ -145,25 +155,54 @@ 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-with-dir");
+  }
+
+  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!!!";
+    $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