mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-24 23:33:52 +02:00
2018-07-17 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up SQL quieries in 'rdcatchd/' ensure UTF-8 compatibility.
This commit is contained in:
@@ -17146,3 +17146,6 @@
|
|||||||
to be saved to the incorrect Location.
|
to be saved to the incorrect Location.
|
||||||
2018-07-17 Fred Gleason <fredg@paravelsystems.com>
|
2018-07-17 Fred Gleason <fredg@paravelsystems.com>
|
||||||
* Fixed a bug in 'RDDeck' that threw a SQL error.
|
* Fixed a bug in 'RDDeck' that threw a SQL error.
|
||||||
|
2018-07-17 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
* Cleaned up SQL quieries in 'rdcatchd/' ensure UTF-8
|
||||||
|
compatibility.
|
||||||
|
|||||||
@@ -1380,9 +1380,11 @@ void MainObject::StartPlayout(int event)
|
|||||||
//
|
//
|
||||||
// Get cut parameters
|
// Get cut parameters
|
||||||
//
|
//
|
||||||
QString sql=QString().sprintf("select START_POINT,END_POINT from CUTS\
|
QString sql=QString("select ")+
|
||||||
where CUT_NAME=\"%s\"",
|
"START_POINT,"+ // 00
|
||||||
(const char *)catch_events[event].cutName());
|
"END_POINT "+ // 01
|
||||||
|
"from CUTS where "+
|
||||||
|
"CUT_NAME=\""+RDEscapeString(catch_events[event].cutName())+"\"";
|
||||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||||
if(!q->first()) {
|
if(!q->first()) {
|
||||||
return;
|
return;
|
||||||
@@ -1905,8 +1907,8 @@ void MainObject::LoadEngine(bool adv_day)
|
|||||||
|
|
||||||
catch_events.clear();
|
catch_events.clear();
|
||||||
LogLine(RDConfig::LogInfo,"rdcatchd engine load starts...");
|
LogLine(RDConfig::LogInfo,"rdcatchd engine load starts...");
|
||||||
sql=LoadEventSql()+QString().sprintf(" where STATION_NAME=\"%s\"",
|
sql=LoadEventSql()+QString(" where STATION_NAME=\"")+
|
||||||
(const char *)rda->station()->name());
|
RDEscapeString(rda->station()->name())+"\"";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
while(q->next()) {
|
while(q->next()) {
|
||||||
catch_events.push_back(CatchEvent(rda->station(),RDConfiguration()));
|
catch_events.push_back(CatchEvent(rda->station(),RDConfiguration()));
|
||||||
@@ -2181,8 +2183,9 @@ bool MainObject::AddEvent(int id)
|
|||||||
// Load Schedule
|
// Load Schedule
|
||||||
//
|
//
|
||||||
sql=LoadEventSql()+
|
sql=LoadEventSql()+
|
||||||
QString().sprintf(" where (STATION_NAME=\"%s\")&&(ID=%d)",
|
QString(" where ")+
|
||||||
(const char *)rda->station()->name(),id);
|
"(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+
|
||||||
|
QString().sprintf("(ID=%d)",id);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
if(q->first()) {
|
if(q->first()) {
|
||||||
catch_events.push_back(CatchEvent(rda->station(),RDConfiguration()));
|
catch_events.push_back(CatchEvent(rda->station(),RDConfiguration()));
|
||||||
@@ -2380,9 +2383,11 @@ void MainObject::LoadHeartbeat()
|
|||||||
if(catch_heartbeat_timer->isActive()) {
|
if(catch_heartbeat_timer->isActive()) {
|
||||||
catch_heartbeat_timer->stop();
|
catch_heartbeat_timer->stop();
|
||||||
}
|
}
|
||||||
QString sql=QString().sprintf("select HEARTBEAT_CART,HEARTBEAT_INTERVAL\
|
QString sql=QString("select ")+
|
||||||
from STATIONS where NAME=\"%s\"",
|
"HEARTBEAT_CART,"+ // 00
|
||||||
(const char *)rda->station()->name());
|
"HEARTBEAT_INTERVAL "+ // 01
|
||||||
|
"from STATIONS where "+
|
||||||
|
"NAME=\""+RDEscapeString(rda->station()->name())+"\"";
|
||||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||||
if(q->first()) {
|
if(q->first()) {
|
||||||
if((q->value(0).toUInt()!=0)&&(q->value(1).toUInt()!=0)) {
|
if((q->value(0).toUInt()!=0)&&(q->value(1).toUInt()!=0)) {
|
||||||
@@ -2425,20 +2430,24 @@ void MainObject::CheckInPodcast(CatchEvent *e) const
|
|||||||
//
|
//
|
||||||
// Purge Stale Casts
|
// Purge Stale Casts
|
||||||
//
|
//
|
||||||
sql=QString().sprintf("delete from PODCASTS where \
|
sql=QString("delete from PODCASTS where ")+
|
||||||
(FEED_ID=%d)&&(AUDIO_FILENAME=\"%s\")",
|
QString().sprintf("(FEED_ID=%d)&&",e->feedId())+
|
||||||
e->feedId(),
|
"(AUDIO_FILENAME=\""+RDEscapeString(RDGetBasePart(e->resolvedUrl()))+"\")";
|
||||||
(const char *)RDGetBasePart(e->resolvedUrl()));
|
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Get Channel Parameters
|
// Get Channel Parameters
|
||||||
//
|
//
|
||||||
sql=QString().sprintf("select ENABLE_AUTOPOST,CHANNEL_TITLE,\
|
sql=QString("select ")+
|
||||||
CHANNEL_DESCRIPTION,CHANNEL_CATEGORY,\
|
"ENABLE_AUTOPOST,"+ // 00
|
||||||
CHANNEL_LINK,MAX_SHELF_LIFE from FEEDS \
|
"CHANNEL_TITLE,"+ // 01
|
||||||
where ID=%u",e->feedId());
|
"CHANNEL_DESCRIPTION,"+ // 02
|
||||||
|
"CHANNEL_CATEGORY,"+ // 03
|
||||||
|
"CHANNEL_LINK,"+ // 04
|
||||||
|
"MAX_SHELF_LIFE "+ // 05
|
||||||
|
"from FEEDS where "+
|
||||||
|
QString().sprintf("ID=%u",e->feedId());
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
if(!q->first()) {
|
if(!q->first()) {
|
||||||
delete q;
|
delete q;
|
||||||
@@ -2452,29 +2461,19 @@ void MainObject::CheckInPodcast(CatchEvent *e) const
|
|||||||
if(q->value(0).toString().lower()=="y") {
|
if(q->value(0).toString().lower()=="y") {
|
||||||
status=RDPodcast::StatusActive;
|
status=RDPodcast::StatusActive;
|
||||||
}
|
}
|
||||||
sql=QString().sprintf("insert into PODCASTS set \
|
sql=QString("insert into PODCASTS set ")+
|
||||||
FEED_ID=%u,\
|
QString().sprintf("FEED_ID=%u,",e->feedId())+
|
||||||
STATUS=%u,\
|
QString().sprintf("STATUS=%u,",status)+
|
||||||
ITEM_TITLE=\"%s\",\
|
"ITEM_TITLE=\""+RDEscapeString(q->value(1).toString())+"\","+
|
||||||
ITEM_DESCRIPTION=\"%s\",\
|
"ITEM_DESCRIPTION=\""+RDEscapeString(q->value(2).toString())+"\","+
|
||||||
ITEM_CATEGORY=\"%s\",\
|
"ITEM_CATEGORY=\""+RDEscapeString(q->value(3).toString())+"\","+
|
||||||
ITEM_LINK=\"%s\",\
|
"ITEM_LINK=\""+RDEscapeString(q->value(4).toString())+"\","+
|
||||||
AUDIO_FILENAME=\"%s\",\
|
"AUDIO_FILENAME=\""+RDEscapeString(RDGetBasePart(e->resolvedUrl()))+"\","+
|
||||||
AUDIO_LENGTH=%u,\
|
QString().sprintf("AUDIO_LENGTH=%u,",e->podcastLength())+
|
||||||
AUDIO_TIME=%u,\
|
QString().sprintf("AUDIO_TIME=%u,",e->podcastTime())+
|
||||||
SHELF_LIFE=%u,\
|
QString().sprintf("SHELF_LIFE=%u,",q->value(5).toUInt())+
|
||||||
EFFECTIVE_DATETIME=now(),\
|
"EFFECTIVE_DATETIME=now(),"+
|
||||||
ORIGIN_DATETIME=now()",
|
"ORIGIN_DATETIME=now()";
|
||||||
e->feedId(),
|
|
||||||
status,
|
|
||||||
(const char *)RDEscapeString(q->value(1).toString()),
|
|
||||||
(const char *)RDEscapeString(q->value(2).toString()),
|
|
||||||
(const char *)RDEscapeString(q->value(3).toString()),
|
|
||||||
(const char *)RDEscapeString(q->value(4).toString()),
|
|
||||||
(const char *)RDGetBasePart(e->resolvedUrl()),
|
|
||||||
e->podcastLength(),
|
|
||||||
e->podcastTime(),
|
|
||||||
q->value(5).toUInt());
|
|
||||||
delete q;
|
delete q;
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
@@ -2482,8 +2481,9 @@ void MainObject::CheckInPodcast(CatchEvent *e) const
|
|||||||
//
|
//
|
||||||
// Update the Build Date
|
// Update the Build Date
|
||||||
//
|
//
|
||||||
sql=QString().sprintf("update FEEDS set LAST_BUILD_DATETIME=now() \
|
sql=QString("update FEEDS set ")+
|
||||||
where ID=%u",e->feedId());
|
"LAST_BUILD_DATETIME=now() where "+
|
||||||
|
QString().sprintf("ID=%u",e->feedId());
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
@@ -2492,8 +2492,8 @@ void MainObject::CheckInPodcast(CatchEvent *e) const
|
|||||||
RDRecording::ExitCode MainObject::ReadExitCode(int event)
|
RDRecording::ExitCode MainObject::ReadExitCode(int event)
|
||||||
{
|
{
|
||||||
RDRecording::ExitCode code=RDRecording::InternalError;
|
RDRecording::ExitCode code=RDRecording::InternalError;
|
||||||
QString sql=QString().sprintf("select EXIT_CODE from RECORDINGS\
|
QString sql=QString("select EXIT_CODE from RECORDINGS where ")+
|
||||||
where ID=%d",catch_events[event].id());
|
QString().sprintf("ID=%d",catch_events[event].id());
|
||||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||||
if(q->first()) {
|
if(q->first()) {
|
||||||
code=(RDRecording::ExitCode)q->value(0).toInt();
|
code=(RDRecording::ExitCode)q->value(0).toInt();
|
||||||
@@ -2507,11 +2507,10 @@ RDRecording::ExitCode MainObject::ReadExitCode(int event)
|
|||||||
void MainObject::WriteExitCode(int event,RDRecording::ExitCode code,
|
void MainObject::WriteExitCode(int event,RDRecording::ExitCode code,
|
||||||
const QString &err_text)
|
const QString &err_text)
|
||||||
{
|
{
|
||||||
QString sql=QString().sprintf("update RECORDINGS set EXIT_CODE=%d,\
|
QString sql=QString("update RECORDINGS set ")+
|
||||||
EXIT_TEXT=\"%s\"\
|
QString().sprintf("EXIT_CODE=%d,",code)+
|
||||||
where ID=%d",code,
|
"EXIT_TEXT=\""+RDEscapeString(err_text)+"\" where "+
|
||||||
(const char *)RDEscapeString(err_text),
|
QString().sprintf("ID=%d",catch_events[event].id());
|
||||||
catch_events[event].id());
|
|
||||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
switch(code) {
|
switch(code) {
|
||||||
@@ -2541,11 +2540,10 @@ void MainObject::WriteExitCode(int event,RDRecording::ExitCode code,
|
|||||||
void MainObject::WriteExitCodeById(int id,RDRecording::ExitCode code,
|
void MainObject::WriteExitCodeById(int id,RDRecording::ExitCode code,
|
||||||
const QString &err_text)
|
const QString &err_text)
|
||||||
{
|
{
|
||||||
QString sql=QString().sprintf("update RECORDINGS set EXIT_CODE=%d,\
|
QString sql=QString("update RECORDINGS set ")+
|
||||||
EXIT_TEXT=\"%s\" \
|
QString().sprintf("EXIT_CODE=%d,",code)+
|
||||||
where ID=%d",code,
|
"EXIT_TEXT=\""+RDEscapeString(err_text)+"\" where "+
|
||||||
(const char *)RDEscapeString(err_text),
|
QString().sprintf("ID=%d",id);
|
||||||
id);
|
|
||||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user