From bf8698196fb8978834ef52294daf580c6d98d800 Mon Sep 17 00:00:00 2001
From: Patrick Linstruth <patrick@deltecent.com>
Date: Wed, 3 Oct 2018 20:24:06 -0700
Subject: [PATCH] Launch rdimport with new --log-directory and --log-filename
 if Log File specified in rdadmin(1) dropbox setup.

---
 rdservice/startup.cpp | 89 +++++--------------------------------------
 1 file changed, 9 insertions(+), 80 deletions(-)

diff --git a/rdservice/startup.cpp b/rdservice/startup.cpp
index 00b6efe7..2796e44d 100644
--- a/rdservice/startup.cpp
+++ b/rdservice/startup.cpp
@@ -21,6 +21,7 @@
 #include <stdio.h>
 
 #include <qstringlist.h>
+#include <qfileinfo.h>
 
 #include <rdapplication.h>
 #include <rdconf.h>
@@ -165,7 +166,6 @@ bool MainObject::StartDropboxes(QString *err_msg)
     args.push_back(QString().sprintf("--persistent-dropbox-id=%d",
 				     q->value(15).toInt()));
     args.push_back("--drop-box");
-    args.push_back("--log-mode");
     sql=QString("select SCHED_CODE from DROPBOX_SCHED_CODES where ")+
       QString().sprintf("DROPBOX_ID=%d",q->value(0).toInt());
     q1=new RDSqlQuery(sql);
@@ -221,6 +221,14 @@ bool MainObject::StartDropboxes(QString *err_msg)
 				     q->value(13).toInt()));
     args.push_back(QString().sprintf("--enddate-offset=%d",
 				     q->value(14).toInt()));
+    if(!q->value(11).toString().isEmpty()) {
+      QFileInfo *fileinfo=new QFileInfo(q->value(11).toString());
+      args.push_back(QString().sprintf("--log-filename=%s",
+				     (const char *)fileinfo->fileName()));
+      args.push_back(QString().sprintf("--log-directory=%s",
+				     (const char *)fileinfo->absolutePath()));
+      args.push_back("--verbose");
+    }
     args.push_back(q->value(1).toString());
     args.push_back(q->value(2).toString());
 
@@ -232,85 +240,6 @@ bool MainObject::StartDropboxes(QString *err_msg)
       return false;
     }
     id++;
-
-
-
-    /*
-    QString cmd=QString().
-      sprintf("nice rdimport --persistent-dropbox-id=%d --drop-box --log-mode",
-	      q->value(15).toInt());
-    sql=QString("select SCHED_CODE from DROPBOX_SCHED_CODES where ")+
-      QString().sprintf("DROPBOX_ID=%d",q->value(0).toInt());
-    q1=new RDSqlQuery(sql);
-    while(q1->next()) {
-      cmd+=QString(" --add-scheduler-code=\"")+q1->value(0).toString()+"\"";
-    }
-    delete q1;
-    cmd+=
-      QString().sprintf(" --normalization-level=%d",q->value(3).toInt()/100);
-    cmd+=
-      QString().sprintf(" --autotrim-level=%d",q->value(4).toInt()/100);
-    if(q->value(5).toUInt()>0) {
-      cmd+=QString().sprintf(" --to-cart=%u",q->value(5).toUInt());
-    }
-    if(q->value(6).toString()=="Y") {
-      cmd+=" --use-cartchunk-cutid";
-    }
-    if(q->value(21).toInt()<1) {
-        cmd+=
-          QString().sprintf(" --segue-level=%d",q->value(21).toInt());
-        cmd+=
-          QString().sprintf(" --segue-length=%u",q->value(22).toUInt());
-    }
-    if(q->value(7).toString()=="Y") {
-      cmd+=" --title-from-cartchunk-cutid";
-    }
-    if(q->value(8).toString()=="Y") {
-      cmd+=" --delete-cuts";
-    }
-    if(q->value(20).toString()=="Y") {
-      cmd+=" --to-mono";
-    }
-    if(!q->value(9).toString().isEmpty()) {
-      cmd+=QString().sprintf(" \"--metadata-pattern=%s\"",
-			     (const char *)q->value(9).toString());
-    }
-    if(q->value(10).toString()=="Y") {
-      cmd+=" --fix-broken-formats";
-    }
-    if(q->value(12).toString()=="Y") {
-      cmd+=" --delete-source";
-    }
-    if(q->value(16).toString()=="Y") {
-      cmd+=QString().sprintf(" --create-startdate-offset=%d",
-			     q->value(17).toInt());
-      cmd+=QString().sprintf(" --create-enddate-offset=%d",
-			     q->value(18).toInt());
-    }
-    if(!q->value(19).toString().isEmpty()) {
-      cmd+=" --set-user-defined="+RDEscapeString(q->value(19).toString());
-    }
-    cmd+=QString().sprintf(" --startdate-offset=%d",q->value(13).toInt());
-    cmd+=QString().sprintf(" --enddate-offset=%d",q->value(14).toInt());
-    cmd+=QString().sprintf(" %s \"%s\"",(const char *)q->value(1).toString(),
-			   (const char *)q->value(2).toString());
-    if(!q->value(11).toString().isEmpty()) {
-      cmd+=QString().sprintf(" >> %s 2>> %s",
-			     (const char *)q->value(11).toString(),
-			     (const char *)q->value(11).toString());
-    }
-    else {
-      cmd+=" > /dev/null 2> /dev/null";
-    }
-    cmd+=" &";
-    LogLine(RDConfig::LogInfo,QString().
-	    sprintf("launching dropbox configuration: \"%s\"",
-		    (const char *)cmd));
-    if(fork()==0) {
-      system(cmd);
-      exit(0);
-    }
-    */
   }
   delete q;
   return true;