From 57d8153c94ddc3cf6c361d0c23b3d9195c9e7ce6 Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Tue, 6 Oct 2020 18:28:37 -0700 Subject: [PATCH] Added '--scheduler-code=' switch to rdexport(1). --- ChangeLog | 2 ++ docs/manpages/rdexport.xml | 12 +++++++++ utils/rdexport/rdexport.cpp | 50 +++++++++++++++++++++++++++++++++++++ utils/rdexport/rdexport.h | 2 ++ 4 files changed, 66 insertions(+) diff --git a/ChangeLog b/ChangeLog index 403d57bc..acd3e78d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19958,3 +19958,5 @@ caused the Services List to be initialized with all services upon creation, even when one or more services had already be added to the list by the user. +2020-10-06 Patrick Linstruth + * Added '--scheduler-code=' switch to rdexport(1). diff --git a/docs/manpages/rdexport.xml b/docs/manpages/rdexport.xml index 17d68b0e..e3eb82dd 100644 --- a/docs/manpages/rdexport.xml +++ b/docs/manpages/rdexport.xml @@ -424,6 +424,18 @@ + + + scheduler-code + + + + Specify a scheduler code to be exported. This option may be given multiple + times. + + + + title diff --git a/utils/rdexport/rdexport.cpp b/utils/rdexport/rdexport.cpp index d9baeb9b..e096468e 100644 --- a/utils/rdexport/rdexport.cpp +++ b/utils/rdexport/rdexport.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include "rdexport.h" @@ -162,6 +163,10 @@ MainObject::MainObject(QObject *parent) export_groups.push_back(rda->cmdSwitch()->value(i)); rda->cmdSwitch()->setProcessed(i,true); } + if(rda->cmdSwitch()->key(i)=="--scheduler-code") { + export_schedcodes.push_back(rda->cmdSwitch()->value(i)); + rda->cmdSwitch()->setProcessed(i,true); + } if(rda->cmdSwitch()->key(i)=="--metadata-pattern") { export_metadata_pattern=rda->cmdSwitch()->value(i); rda->cmdSwitch()->setProcessed(i,true); @@ -231,6 +236,27 @@ MainObject::MainObject(QObject *parent) exit(256); } + // + // Validate Scheduler Code List + // + std::vector bad_schedcodes; + for(unsigned i=0;iexists()) { + bad_schedcodes.push_back(export_schedcodes[i]); + } + delete sch; + } + if(bad_schedcodes.size()>0) { + QString str="no such scheduler code(s): "; + for(unsigned i=0;inext()) { + ExportCart(q->value(0).toUInt()); + } + delete q; +} + + void MainObject::ExportCart(unsigned cartnum) { RDCart *cart=new RDCart(cartnum); diff --git a/utils/rdexport/rdexport.h b/utils/rdexport/rdexport.h index 4ea09747..ece92776 100644 --- a/utils/rdexport/rdexport.h +++ b/utils/rdexport/rdexport.h @@ -43,6 +43,7 @@ class MainObject : public QObject private: void ExportTitle(const QString &title); void ExportGroup(const QString &groupname); + void ExportSchedCode(const QString &schedcode); void ExportCart(unsigned cartnum); void ExportCut(RDCart *cart,RDCut *cut); QString ResolveOutputName(RDCart *cart,RDCut *cut,const QString &exten); @@ -52,6 +53,7 @@ class MainObject : public QObject std::vector export_end_carts; std::vector export_groups; std::vector export_titles; + std::vector export_schedcodes; QString export_metadata_pattern; QString export_output_to; QString export_format;