mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-22 07:39:35 +02:00
2017-08-31 Fred Gleason <fredg@paravelsystems.com>
* Modified web client components to use a distinctive http USER_AGENT string.
This commit is contained in:
parent
8d9a2ecadc
commit
aef7c2229b
@ -15988,3 +15988,6 @@
|
||||
* Added an 'RDRenderer' class in 'lib/rdrenderer.cpp' and
|
||||
'lib/rdrenderer.h'.
|
||||
* Refactored rdrender(1) to use the 'RDRenderer' class.
|
||||
2017-08-31 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Modified web client components to use a distinctive http USER_AGENT
|
||||
string.
|
||||
|
@ -131,6 +131,7 @@ MainObject::MainObject(QObject *parent,const char *name)
|
||||
//
|
||||
rd_config=new RDConfig(RD_CONF_FILE);
|
||||
rd_config->load();
|
||||
rd_config->setModuleName("caed");
|
||||
|
||||
//
|
||||
// Make sure we're the only instance running
|
||||
|
@ -134,6 +134,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
rdconfig=new RDConfig(RD_CONF_FILE);
|
||||
rdconfig->load();
|
||||
rdconfig->setModuleName("nexgen_filter");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -52,6 +52,7 @@ MainObject::MainObject(QObject *parent)
|
||||
|
||||
rd_config=new RDConfig(RD_CONF_FILE);
|
||||
rd_config->load();
|
||||
rd_config->setModuleName("panel_copy");
|
||||
|
||||
//
|
||||
// Read Switches
|
||||
|
@ -52,6 +52,7 @@ MainObject::MainObject(QObject *parent)
|
||||
|
||||
rd_config=new RDConfig(RD_CONF_FILE);
|
||||
rd_config->load();
|
||||
rd_config->setModuleName("rdcatch_copy");
|
||||
|
||||
//
|
||||
// Read Switches
|
||||
|
@ -79,6 +79,7 @@ MainObject::MainObject(QObject *parent)
|
||||
|
||||
rdconfig=new RDConfig(RD_CONF_FILE);
|
||||
rdconfig->load();
|
||||
rdconfig->setModuleName("rivendell_filter");
|
||||
|
||||
//
|
||||
// Open Local Database
|
||||
|
@ -59,6 +59,8 @@ MainObject::MainObject(QObject *parent)
|
||||
|
||||
rd_config=new RDConfig(RD_CONF_FILE);
|
||||
rd_config->load();
|
||||
rd_config->setModuleName("sas_filter");
|
||||
|
||||
filter_switch_count=0;
|
||||
filter_macro_count=0;
|
||||
|
||||
|
@ -62,6 +62,7 @@ MainObject::MainObject(QObject *parent)
|
||||
|
||||
rdconfig=new RDConfig(RD_CONF_FILE);
|
||||
rdconfig->load();
|
||||
rdconfig->setModuleName("wings_filter");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Export an Audio File using the RdXport Web Service
|
||||
//
|
||||
// (C) Copyright 2010,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2010,2016-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -175,6 +175,8 @@ RDAudioExport::ErrorCode RDAudioExport::runExport(const QString &username,
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEDATA,f);
|
||||
curl_easy_setopt(curl,CURLOPT_POST,1);
|
||||
curl_easy_setopt(curl,CURLOPT_POSTFIELDS,(const char *)post);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)conv_config->userAgent());
|
||||
curl_easy_setopt(curl,CURLOPT_TIMEOUT,RD_CURL_TIMEOUT);
|
||||
curl_easy_setopt(curl,CURLOPT_PROGRESSFUNCTION,ExportProgressCallback);
|
||||
curl_easy_setopt(curl,CURLOPT_PROGRESSDATA,this);
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Import an Audio File using the RdXport Web Service
|
||||
//
|
||||
// (C) Copyright 2010-2014,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2010-2014,2016-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -169,6 +169,8 @@ RDAudioImport::ErrorCode RDAudioImport::runImport(const QString &username,
|
||||
}
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEDATA,stdout);
|
||||
curl_easy_setopt(curl,CURLOPT_HTTPPOST,first);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)conv_config->userAgent());
|
||||
curl_easy_setopt(curl,CURLOPT_TIMEOUT,RD_CURL_TIMEOUT);
|
||||
curl_easy_setopt(curl,CURLOPT_PROGRESSFUNCTION,ImportProgressCallback);
|
||||
curl_easy_setopt(curl,CURLOPT_PROGRESSDATA,this);
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Get information about a cut in the audio store.
|
||||
//
|
||||
// (C) Copyright 2011,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2011,2016-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -141,6 +141,8 @@ RDAudioInfo::ErrorCode RDAudioInfo::runInfo(const QString &username,
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&conv_xml);
|
||||
curl_easy_setopt(curl,CURLOPT_POST,1);
|
||||
curl_easy_setopt(curl,CURLOPT_POSTFIELDS,(const char *)post);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)conv_config->userAgent());
|
||||
curl_easy_setopt(curl,CURLOPT_TIMEOUT,RD_CURL_TIMEOUT);
|
||||
|
||||
switch(curl_err=curl_easy_perform(curl)) {
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Get information about the audio store.
|
||||
//
|
||||
// (C) Copyright 2014-2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2014-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -97,6 +97,8 @@ RDAudioStore::ErrorCode RDAudioStore::runStore(const QString &username,
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&conv_xml);
|
||||
curl_easy_setopt(curl,CURLOPT_POST,1);
|
||||
curl_easy_setopt(curl,CURLOPT_POSTFIELDS,(const char *)post);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)conv_config->userAgent());
|
||||
curl_easy_setopt(curl,CURLOPT_TIMEOUT,RD_CURL_TIMEOUT);
|
||||
|
||||
switch(curl_err=curl_easy_perform(curl)) {
|
||||
|
@ -32,6 +32,7 @@
|
||||
|
||||
#include <rd.h>
|
||||
#include <rdconf.h>
|
||||
#include <rdconfig.h>
|
||||
#include <rdcart.h>
|
||||
#include <rdcut.h>
|
||||
#include <rdtextvalidator.h>
|
||||
@ -1641,6 +1642,8 @@ bool RDCart::removeCutAudio(RDStation *station,RDUser *user,unsigned cart_num,
|
||||
curl_easy_setopt(curl,CURLOPT_URL,url);
|
||||
curl_easy_setopt(curl,CURLOPT_POST,1);
|
||||
curl_easy_setopt(curl,CURLOPT_POSTFIELDS,(const char *)post);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)RDConfig::userAgent(""));
|
||||
curl_easy_setopt(curl,CURLOPT_TIMEOUT,RD_CURL_TIMEOUT);
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,CartWriteCallback);
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&xml);
|
||||
|
@ -49,7 +49,7 @@ RDConfig::RDConfig()
|
||||
}
|
||||
|
||||
|
||||
RDConfig::RDConfig(QString filename)
|
||||
RDConfig::RDConfig(const QString &filename)
|
||||
{
|
||||
clear();
|
||||
conf_filename=filename;
|
||||
@ -67,37 +67,62 @@ void RDConfig::setFilename(QString filename)
|
||||
conf_filename=filename;
|
||||
}
|
||||
|
||||
|
||||
QString RDConfig::moduleName() const
|
||||
{
|
||||
return conf_module_name;
|
||||
}
|
||||
|
||||
|
||||
void RDConfig::setModuleName(const QString &modname)
|
||||
{
|
||||
conf_module_name=modname;
|
||||
}
|
||||
|
||||
|
||||
QString RDConfig::userAgent() const
|
||||
{
|
||||
return RDConfig::userAgent(conf_module_name);
|
||||
}
|
||||
|
||||
|
||||
QString RDConfig::audioRoot() const
|
||||
{
|
||||
return conf_audio_root;
|
||||
}
|
||||
|
||||
|
||||
QString RDConfig::audioExtension() const
|
||||
{
|
||||
return conf_audio_extension;
|
||||
}
|
||||
|
||||
|
||||
QString RDConfig::audioFileName (QString cutname)
|
||||
{
|
||||
return audioRoot() + QString("/") + cutname + QString(".") +
|
||||
audioExtension();
|
||||
};
|
||||
|
||||
|
||||
QString RDConfig::label() const
|
||||
{
|
||||
return conf_label;
|
||||
}
|
||||
|
||||
|
||||
QString RDConfig::audioStoreMountSource() const
|
||||
{
|
||||
return conf_audio_store_mount_source;
|
||||
}
|
||||
|
||||
|
||||
QString RDConfig::audioStoreMountType() const
|
||||
{
|
||||
return conf_audio_store_mount_type;
|
||||
}
|
||||
|
||||
|
||||
QString RDConfig::audioStoreMountOptions() const
|
||||
{
|
||||
return conf_audio_store_mount_options;
|
||||
@ -523,6 +548,7 @@ void RDConfig::clear()
|
||||
#else
|
||||
conf_filename=RD_CONF_FILE;
|
||||
#endif
|
||||
conf_module_name="";
|
||||
conf_mysql_hostname="";
|
||||
conf_mysql_username="";
|
||||
conf_mysql_dbname="";
|
||||
@ -573,3 +599,12 @@ void RDConfig::clear()
|
||||
conf_sas_tty_device="";
|
||||
conf_destinations.clear();
|
||||
}
|
||||
|
||||
|
||||
QString RDConfig::userAgent(const QString &modname)
|
||||
{
|
||||
if(modname.isEmpty()) {
|
||||
return QString("Mozilla/5.0")+" rivendell/"+VERSION;
|
||||
}
|
||||
return QString("Mozilla/5.0 rivendell/")+VERSION+" ("+modname+")";
|
||||
}
|
||||
|
@ -47,9 +47,12 @@ class RDConfig
|
||||
|
||||
#endif // WIN32
|
||||
RDConfig();
|
||||
RDConfig(QString filename);
|
||||
RDConfig(const QString &filename);
|
||||
QString filename() const;
|
||||
void setFilename(QString filename);
|
||||
QString moduleName() const;
|
||||
void setModuleName(const QString &modname);
|
||||
QString userAgent() const;
|
||||
QString mysqlHostname() const;
|
||||
QString mysqlUsername() const;
|
||||
QString mysqlDbname() const;
|
||||
@ -103,9 +106,11 @@ class RDConfig
|
||||
QString destination(unsigned n);
|
||||
void load();
|
||||
void clear();
|
||||
static QString userAgent(const QString &modname);
|
||||
|
||||
private:
|
||||
QString conf_filename;
|
||||
QString conf_module_name;
|
||||
QString conf_mysql_hostname;
|
||||
QString conf_mysql_username;
|
||||
QString conf_mysql_dbname;
|
||||
|
@ -102,6 +102,8 @@ RDCopyAudio::ErrorCode RDCopyAudio::runCopy(const QString &username,
|
||||
curl_easy_setopt(curl,CURLOPT_URL,url);
|
||||
curl_easy_setopt(curl,CURLOPT_POST,1);
|
||||
curl_easy_setopt(curl,CURLOPT_POSTFIELDS,(const char *)post);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)conv_config->userAgent());
|
||||
curl_easy_setopt(curl,CURLOPT_TIMEOUT,RD_CURL_TIMEOUT);
|
||||
|
||||
switch(curl_easy_perform(curl)) {
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Delete a file from the audio store via the Rivendell Web Service
|
||||
//
|
||||
// (C) Copyright 2010,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2010,2016-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -67,9 +67,10 @@ int DeleteErrorCallback(CURL *curl,curl_infotype type,char *msg,size_t size,
|
||||
}
|
||||
|
||||
|
||||
RDDelete::RDDelete(QObject *parent)
|
||||
RDDelete::RDDelete(RDConfig *config,QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
conv_config=config;
|
||||
}
|
||||
|
||||
|
||||
@ -104,9 +105,10 @@ RDDelete::ErrorCode RDDelete::runDelete(const QString &username,
|
||||
(const char *)password),256);
|
||||
curl_easy_setopt(curl,CURLOPT_USERPWD,userpwd);
|
||||
curl_easy_setopt(curl,CURLOPT_HTTPAUTH,CURLAUTH_ANY);
|
||||
printf("HERE\n");
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,DeleteWriteCallback);
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&xml);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)conv_config->userAgent());
|
||||
if(log_debug) {
|
||||
curl_easy_setopt(curl,CURLOPT_VERBOSE,1);
|
||||
curl_easy_setopt(curl,CURLOPT_DEBUGFUNCTION,DeleteErrorCallback);
|
||||
|
@ -24,6 +24,8 @@
|
||||
#include <qobject.h>
|
||||
#include <qurl.h>
|
||||
|
||||
#include <rdconfig.h>
|
||||
|
||||
class RDDelete : public QObject
|
||||
{
|
||||
Q_OBJECT;
|
||||
@ -34,7 +36,7 @@ class RDDelete : public QObject
|
||||
ErrorUnspecified=8,ErrorInvalidUser=9,
|
||||
ErrorInvalidLogin=11,ErrorRemoteAccess=12,
|
||||
ErrorRemoteConnection=13,ErrorUnknown=14};
|
||||
RDDelete(QObject *parent=0);
|
||||
RDDelete(RDConfig *config,QObject *parent=0);
|
||||
void setTargetUrl(const QString &url);
|
||||
RDDelete::ErrorCode runDelete(const QString &username,
|
||||
const QString &password,
|
||||
@ -43,6 +45,7 @@ class RDDelete : public QObject
|
||||
|
||||
private:
|
||||
QUrl conv_target_url;
|
||||
RDConfig *conv_config;
|
||||
};
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Download a File
|
||||
//
|
||||
// (C) Copyright 2010,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2010,2016-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -68,9 +68,10 @@ int DownloadErrorCallback(CURL *curl,curl_infotype type,char *msg,size_t size,
|
||||
}
|
||||
|
||||
|
||||
RDDownload::RDDownload(const QString &station_name,QObject *parent)
|
||||
RDDownload::RDDownload(RDConfig *config,QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
conv_config=config;
|
||||
conv_aborting=false;
|
||||
}
|
||||
|
||||
@ -142,6 +143,8 @@ RDDownload::ErrorCode RDDownload::runDownload(const QString &username,
|
||||
curl_easy_setopt(curl,CURLOPT_PROGRESSFUNCTION,DownloadProgressCallback);
|
||||
curl_easy_setopt(curl,CURLOPT_PROGRESSDATA,this);
|
||||
curl_easy_setopt(curl,CURLOPT_NOPROGRESS,0);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)conv_config->userAgent());
|
||||
if(log_debug) {
|
||||
curl_easy_setopt(curl,CURLOPT_VERBOSE,1);
|
||||
curl_easy_setopt(curl,CURLOPT_DEBUGFUNCTION,DownloadErrorCallback);
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Download a File
|
||||
//
|
||||
// (C) Copyright 2010,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2010,2016-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -24,6 +24,8 @@
|
||||
#include <qobject.h>
|
||||
#include <qurl.h>
|
||||
|
||||
#include <rdconfig.h>
|
||||
|
||||
class RDDownload : public QObject
|
||||
{
|
||||
Q_OBJECT;
|
||||
@ -34,7 +36,7 @@ class RDDownload : public QObject
|
||||
ErrorUnspecified=8,ErrorInvalidUser=9,ErrorAborted=10,
|
||||
ErrorInvalidLogin=11,ErrorRemoteAccess=12,
|
||||
ErrorRemoteConnection=13};
|
||||
RDDownload(const QString &station_name,QObject *parent=0);
|
||||
RDDownload(RDConfig *config,QObject *parent=0);
|
||||
void setSourceUrl(const QString &url);
|
||||
void setDestinationFile(const QString &filename);
|
||||
int totalSteps() const;
|
||||
@ -58,6 +60,7 @@ class RDDownload : public QObject
|
||||
QString conv_dst_filename;
|
||||
bool conv_aborting;
|
||||
uint conv_dst_size;
|
||||
RDConfig *conv_config;
|
||||
};
|
||||
|
||||
|
||||
|
@ -37,13 +37,14 @@
|
||||
#include <rdaudioconvert.h>
|
||||
#include <rdupload.h>
|
||||
|
||||
RDFeed::RDFeed(const QString &keyname,QObject *parent)
|
||||
RDFeed::RDFeed(const QString &keyname,RDConfig *config,QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
RDSqlQuery *q;
|
||||
QString sql;
|
||||
|
||||
feed_keyname=keyname;
|
||||
feed_config=config;
|
||||
|
||||
sql=QString().sprintf("select ID from FEEDS where KEY_NAME=\"%s\"",
|
||||
(const char *)RDEscapeString(keyname));
|
||||
@ -55,13 +56,14 @@ RDFeed::RDFeed(const QString &keyname,QObject *parent)
|
||||
}
|
||||
|
||||
|
||||
RDFeed::RDFeed(unsigned id,QObject *parent)
|
||||
RDFeed::RDFeed(unsigned id,RDConfig *config,QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
RDSqlQuery *q;
|
||||
QString sql;
|
||||
|
||||
feed_id=id;
|
||||
feed_config=config;
|
||||
|
||||
sql=QString().sprintf("select KEY_NAME from FEEDS where ID=%u",id);
|
||||
q=new RDSqlQuery(sql);
|
||||
@ -507,7 +509,7 @@ QString RDFeed::audioUrl(RDFeed::MediaLinkMode mode,
|
||||
break;
|
||||
|
||||
case RDFeed::LinkDirect:
|
||||
cast=new RDPodcast(cast_id);
|
||||
cast=new RDPodcast(feed_config,cast_id);
|
||||
ret=QString().sprintf("%s/%s",
|
||||
(const char *)baseUrl(),
|
||||
(const char *)cast->audioFilename());
|
||||
@ -601,8 +603,8 @@ unsigned RDFeed::postCut(RDUser *user,RDStation *station,
|
||||
int length=file.size();
|
||||
unsigned cast_id=CreateCast(&destfile,length,cut->length());
|
||||
delete cut;
|
||||
cast=new RDPodcast(cast_id);
|
||||
upload=new RDUpload(station->name(),this);
|
||||
cast=new RDPodcast(feed_config,cast_id);
|
||||
upload=new RDUpload(feed_config,this);
|
||||
upload->setSourceFile(tmpfile);
|
||||
upload->setDestinationUrl(purgeUrl()+"/"+cast->audioFilename());
|
||||
switch((upload_err=upload->runUpload(purgeUsername(),purgePassword(),
|
||||
@ -714,8 +716,8 @@ unsigned RDFeed::postFile(RDStation *station,const QString &srcfile,Error *err,
|
||||
int length=file.size();
|
||||
|
||||
unsigned cast_id=CreateCast(&destfile,length,time_length);
|
||||
RDPodcast *cast=new RDPodcast(cast_id);
|
||||
upload=new RDUpload(station->name(),this);
|
||||
RDPodcast *cast=new RDPodcast(feed_config,cast_id);
|
||||
upload=new RDUpload(feed_config,this);
|
||||
upload->setSourceFile(tmpfile);
|
||||
upload->setDestinationUrl(purgeUrl()+"/"+cast->audioFilename());
|
||||
switch((upload_err=upload->runUpload(purgeUsername(),purgePassword(),
|
||||
@ -909,4 +911,4 @@ void RDFeed::SetRow(const QString ¶m,const QDateTime &value,
|
||||
(const char *)feed_keyname);
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
}
|
||||
}
|
||||
|
@ -38,8 +38,8 @@ class RDFeed : public QObject
|
||||
enum Error {ErrorOk=0,ErrorNoFile=1,ErrorCannotOpenFile=2,
|
||||
ErrorUnsupportedType=3,ErrorUploadFailed=4,ErrorGeneral=5};
|
||||
enum MediaLinkMode {LinkNone=0,LinkDirect=1,LinkCounted=2};
|
||||
RDFeed(const QString &keyname,QObject *parent=0);
|
||||
RDFeed(unsigned id,QObject *parent=0);
|
||||
RDFeed(const QString &keyname,RDConfig *config,QObject *parent=0);
|
||||
RDFeed(unsigned id,RDConfig *config,QObject *parent=0);
|
||||
QString keyName() const;
|
||||
unsigned id() const;
|
||||
bool exists() const;
|
||||
@ -127,7 +127,8 @@ class RDFeed : public QObject
|
||||
const QString &format) const;
|
||||
QString feed_keyname;
|
||||
unsigned feed_id;
|
||||
RDConfig *feed_config;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
#endif // RDFEED_H
|
||||
|
@ -123,6 +123,8 @@ RDPeaksExport::ErrorCode RDPeaksExport::runExport(const QString &username,
|
||||
curl_easy_setopt(curl,CURLOPT_POSTFIELDS,(const char *)post);
|
||||
curl_easy_setopt(curl,CURLOPT_TIMEOUT,RD_CURL_TIMEOUT);
|
||||
curl_easy_setopt(curl,CURLOPT_NOPROGRESS,1);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)conv_config->userAgent());
|
||||
//curl_easy_setopt(curl,CURLOPT_VERBOSE,1);
|
||||
|
||||
switch((curl_err=curl_easy_perform(curl))) {
|
||||
|
@ -47,8 +47,10 @@ int PodcastErrorCallback(CURL *curl,curl_infotype type,char *msg,size_t size,
|
||||
}
|
||||
|
||||
|
||||
RDPodcast::RDPodcast(unsigned id)
|
||||
RDPodcast::RDPodcast(RDConfig *config,unsigned id)
|
||||
{
|
||||
podcast_config=config;
|
||||
|
||||
RDSqlQuery *q;
|
||||
QString sql;
|
||||
|
||||
@ -314,6 +316,8 @@ bool RDPodcast::removeAudio(RDFeed *feed,QString *err_text,bool log_debug) const
|
||||
(const char *)feed->purgePassword()),256);
|
||||
curl_easy_setopt(curl,CURLOPT_USERPWD,userpwd);
|
||||
curl_easy_setopt(curl,CURLOPT_HTTPAUTH,CURLAUTH_ANY);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)podcast_config->userAgent());
|
||||
if(log_debug) {
|
||||
curl_easy_setopt(curl,CURLOPT_VERBOSE,1);
|
||||
curl_easy_setopt(curl,CURLOPT_DEBUGFUNCTION,PodcastErrorCallback);
|
||||
@ -412,4 +416,4 @@ void RDPodcast::SetRow(const QString ¶m,const QDateTime &value,
|
||||
podcast_id);
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Abstract a Rivendell Podcast Entry
|
||||
//
|
||||
// (C) Copyright 2002-2007,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2007,2016-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -20,6 +20,7 @@
|
||||
|
||||
#include <qsqldatabase.h>
|
||||
|
||||
#include <rdconfig.h>
|
||||
#include <rdfeed.h>
|
||||
|
||||
#ifndef RDPODCAST_H
|
||||
@ -29,7 +30,7 @@ class RDPodcast
|
||||
{
|
||||
public:
|
||||
enum Status {StatusPending=1,StatusActive=2,StatusExpired=3};
|
||||
RDPodcast(unsigned id);
|
||||
RDPodcast(RDConfig *config,unsigned id);
|
||||
unsigned id() const;
|
||||
QString keyName() const;
|
||||
bool exists() const;
|
||||
@ -79,6 +80,7 @@ class RDPodcast
|
||||
void SetRow(const QString ¶m,const QDateTime &datetime,const QString &value) const;
|
||||
QString podcast_keyname;
|
||||
unsigned podcast_id;
|
||||
RDConfig *podcast_config;
|
||||
};
|
||||
|
||||
|
||||
|
@ -94,6 +94,8 @@ RDRehash::ErrorCode RDRehash::runRehash(const QString &username,
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,__RDRehashCallback);
|
||||
curl_easy_setopt(curl,CURLOPT_POST,1);
|
||||
curl_easy_setopt(curl,CURLOPT_POSTFIELDS,(const char *)post);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)conv_config->userAgent());
|
||||
curl_easy_setopt(curl,CURLOPT_TIMEOUT,RD_CURL_TIMEOUT);
|
||||
|
||||
switch(curl_err=curl_easy_perform(curl)) {
|
||||
|
@ -120,6 +120,8 @@ RDTrimAudio::ErrorCode RDTrimAudio::runTrim(const QString &username,
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&conv_xml);
|
||||
curl_easy_setopt(curl,CURLOPT_POST,1);
|
||||
curl_easy_setopt(curl,CURLOPT_POSTFIELDS,(const char *)post);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)conv_config->userAgent());
|
||||
curl_easy_setopt(curl,CURLOPT_TIMEOUT,RD_CURL_TIMEOUT);
|
||||
|
||||
switch(curl_err=curl_easy_perform(curl)) {
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Upload a File
|
||||
//
|
||||
// (C) Copyright 2010,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2010,2016-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -70,9 +70,10 @@ int UploadErrorCallback(CURL *curl,curl_infotype type,char *msg,size_t size,
|
||||
}
|
||||
|
||||
|
||||
RDUpload::RDUpload(const QString &station_name,QObject *parent)
|
||||
RDUpload::RDUpload(RDConfig *config,QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
conv_config=config;
|
||||
conv_aborting=false;
|
||||
}
|
||||
|
||||
@ -145,6 +146,8 @@ RDUpload::ErrorCode RDUpload::runUpload(const QString &username,
|
||||
curl_easy_setopt(curl,CURLOPT_PROGRESSFUNCTION,UploadProgressCallback);
|
||||
curl_easy_setopt(curl,CURLOPT_PROGRESSDATA,this);
|
||||
curl_easy_setopt(curl,CURLOPT_NOPROGRESS,0);
|
||||
curl_easy_setopt(curl,CURLOPT_USERAGENT,
|
||||
(const char *)conv_config->userAgent());
|
||||
if(log_debug) {
|
||||
curl_easy_setopt(curl,CURLOPT_VERBOSE,1);
|
||||
curl_easy_setopt(curl,CURLOPT_DEBUGFUNCTION,UploadErrorCallback);
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Upload a File
|
||||
//
|
||||
// (C) Copyright 2010,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2010,2016-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -24,6 +24,8 @@
|
||||
#include <qobject.h>
|
||||
#include <qurl.h>
|
||||
|
||||
#include <rdconfig.h>
|
||||
|
||||
class RDUpload : public QObject
|
||||
{
|
||||
Q_OBJECT;
|
||||
@ -34,7 +36,7 @@ class RDUpload : public QObject
|
||||
ErrorUnspecified=8,ErrorInvalidUser=9,ErrorAborted=10,
|
||||
ErrorInvalidLogin=11,ErrorRemoteAccess=12,
|
||||
ErrorRemoteConnection=13};
|
||||
RDUpload(const QString &station_name,QObject *parent=0);
|
||||
RDUpload(RDConfig *config,QObject *parent=0);
|
||||
void setSourceFile(const QString &filename);
|
||||
void setDestinationUrl(const QString &url);
|
||||
int totalSteps() const;
|
||||
@ -58,6 +60,7 @@ class RDUpload : public QObject
|
||||
QUrl conv_dst_url;
|
||||
bool conv_aborting;
|
||||
uint conv_src_size;
|
||||
RDConfig *conv_config;
|
||||
};
|
||||
|
||||
|
||||
|
@ -243,8 +243,9 @@ PAM_EXTERN int pam_sm_authenticate (pam_handle_t *pamh,
|
||||
}
|
||||
|
||||
/* Load configs */
|
||||
login_config=new RDConfig();
|
||||
login_config=new RDConfig(RD_CONF_FILE);
|
||||
login_config->load();
|
||||
login_config->setModuleName("pam_rd");
|
||||
|
||||
/* kill daemons if requested */
|
||||
if (ctrl & PAM_RD_KILL_RD_DAEMONS) {
|
||||
|
@ -45,7 +45,7 @@ EditFeed::EditFeed(const QString &feed,QWidget *parent)
|
||||
setMinimumHeight(sizeHint().height());
|
||||
setMaximumHeight(sizeHint().height());
|
||||
|
||||
feed_feed=new RDFeed(feed,this);
|
||||
feed_feed=new RDFeed(feed,admin_config,this);
|
||||
|
||||
setCaption(tr("Feed: ")+feed);
|
||||
|
||||
|
@ -232,7 +232,7 @@ void ListFeeds::deleteData()
|
||||
default:
|
||||
break;
|
||||
}
|
||||
feed=new RDFeed(feedname);
|
||||
feed=new RDFeed(feedname,admin_config);
|
||||
|
||||
//
|
||||
// Delete Casts
|
||||
@ -251,7 +251,7 @@ void ListFeeds::deleteData()
|
||||
while(q->next()) {
|
||||
pd->setProgress(pd->progress()+1);
|
||||
qApp->processEvents();
|
||||
cast=new RDPodcast(q->value(0).toUInt());
|
||||
cast=new RDPodcast(admin_config,q->value(0).toUInt());
|
||||
cast->removeAudio(feed,&errs,admin_config->logXloadDebugData());
|
||||
delete cast;
|
||||
}
|
||||
|
@ -144,8 +144,9 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
// Load Configs
|
||||
//
|
||||
admin_config=new RDConfig();
|
||||
admin_config=new RDConfig(RD_CONF_FILE);
|
||||
admin_config->load();
|
||||
admin_config->setModuleName("RDAdmin");
|
||||
|
||||
str=QString(tr("RDAdmin")+" v"+VERSION+" - Host:");
|
||||
setCaption(QString().
|
||||
|
@ -224,8 +224,10 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
// Load Local Configs
|
||||
//
|
||||
air_config=new RDConfig();
|
||||
air_config=new RDConfig(RD_CONF_FILE);
|
||||
air_config->load();
|
||||
air_config->setModuleName("RDAirPlay");
|
||||
|
||||
logfile=air_config->airplayLogname();
|
||||
|
||||
str=QString("RDAirPlay")+" v"+VERSION+" - "+tr("Host:");
|
||||
|
@ -60,8 +60,9 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
// Load Local Configs
|
||||
//
|
||||
panel_config=new RDConfig();
|
||||
panel_config=new RDConfig(RD_CONF_FILE);
|
||||
panel_config->load();
|
||||
panel_config->setModuleName("RDCartSlots");
|
||||
|
||||
//
|
||||
// Load the command-line arguments
|
||||
|
@ -45,8 +45,8 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
|
||||
RDSqlQuery *q1;
|
||||
int ypos=0;
|
||||
|
||||
cast_cast=new RDPodcast(cast_id);
|
||||
cast_feed=new RDFeed(cast_cast->feedId());
|
||||
cast_cast=new RDPodcast(config,cast_id);
|
||||
cast_feed=new RDFeed(cast_cast->feedId(),config);
|
||||
cast_status=cast_cast->status();
|
||||
setCaption(tr("Editing PodCast"));
|
||||
|
||||
|
@ -95,7 +95,7 @@ ListCasts::ListCasts(unsigned feed_id,QWidget *parent)
|
||||
//
|
||||
// The Feed
|
||||
//
|
||||
list_feed=new RDFeed(feed_id,this);
|
||||
list_feed=new RDFeed(feed_id,config,this);
|
||||
|
||||
//
|
||||
// Progress Dialog
|
||||
@ -335,7 +335,7 @@ void ListCasts::deleteData()
|
||||
qApp->processEvents();
|
||||
sleep(1);
|
||||
qApp->processEvents();
|
||||
RDPodcast *cast=new RDPodcast(item->id());
|
||||
RDPodcast *cast=new RDPodcast(config,item->id());
|
||||
if(!cast->removeAudio(list_feed,&err_text,config->logXloadDebugData())) {
|
||||
if(QMessageBox::warning(this,tr("Remote Error"),
|
||||
tr("Unable to delete remote audio!\n")+
|
||||
@ -513,7 +513,7 @@ void ListCasts::GetEncoderId()
|
||||
RDSqlQuery *q;
|
||||
|
||||
list_encoder_id=-1;
|
||||
RDFeed *feed=new RDFeed(list_feed_id);
|
||||
RDFeed *feed=new RDFeed(list_feed_id,config);
|
||||
int format=feed->uploadFormat();
|
||||
delete feed;
|
||||
if((format>0)&&(format<100)) { // Built-in format
|
||||
|
@ -191,7 +191,7 @@ void PickReportDates::GenerateSubscriptionReport(const QString &keyname,
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
RDFeed *feed=new RDFeed(keyname,this);
|
||||
RDFeed *feed=new RDFeed(keyname,config,this);
|
||||
unsigned total=0;
|
||||
unsigned rss_total=0;
|
||||
unsigned audio_total=0;
|
||||
@ -253,8 +253,8 @@ void PickReportDates::GenerateEpisodeReport(const QString &keyname,
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
RDFeed *feed=new RDFeed(keyname,this);
|
||||
RDPodcast *cast=new RDPodcast(cast_id);
|
||||
RDFeed *feed=new RDFeed(keyname,config,this);
|
||||
RDPodcast *cast=new RDPodcast(config,cast_id);
|
||||
|
||||
//
|
||||
// Header
|
||||
|
@ -96,8 +96,10 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
// Load Local Configs
|
||||
//
|
||||
config=new RDConfig();
|
||||
config=new RDConfig(RD_CONF_FILE);
|
||||
config->load();
|
||||
config->setModuleName("RDCastManager");
|
||||
|
||||
str1=QString("RDCastManager")+" v"+VERSION+" - "+tr("Host");
|
||||
str2=QString(tr("User: [Unknown]"));
|
||||
setCaption(QString().sprintf("%s: %s, %s",(const char *)str1,
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// The Event Schedule Manager for Rivendell.
|
||||
//
|
||||
// (C) Copyright 2002-2015 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -202,6 +202,7 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
catch_config=new RDConfig();
|
||||
catch_config->load();
|
||||
catch_config->setModuleName("RDCatch");
|
||||
|
||||
str=QString("RDCatch")+" v"+VERSION+" - "+tr("Host")+":";
|
||||
setCaption(QString().sprintf("%s %s",(const char *)str,
|
||||
|
@ -199,7 +199,7 @@ void MainObject::RunDownload(CatchEvent *evt)
|
||||
(const char *)evt->resolvedUrl(),
|
||||
(const char *)evt->tempName(),
|
||||
evt->id()));
|
||||
RDDownload *conv=new RDDownload(catch_config->stationName(),this);
|
||||
RDDownload *conv=new RDDownload(catch_config,this);
|
||||
|
||||
conv->setSourceUrl(RDUrlEscape(evt->resolvedUrl()));
|
||||
conv->setDestinationFile(evt->tempName());
|
||||
@ -321,7 +321,7 @@ void MainObject::RunUpload(CatchEvent *evt)
|
||||
(const char *)evt->
|
||||
resolvedUrl(),
|
||||
evt->id()));
|
||||
RDUpload *conv=new RDUpload(catch_config->stationName(),this);
|
||||
RDUpload *conv=new RDUpload(catch_config,this);
|
||||
conv->setSourceFile(evt->tempName());
|
||||
conv->setDestinationUrl(evt->resolvedUrl());
|
||||
QString url_username=evt->urlUsername();
|
||||
|
@ -133,6 +133,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
catch_config=new RDConfig();
|
||||
catch_config->load();
|
||||
catch_config->setModuleName("rdcatchd");
|
||||
|
||||
//
|
||||
// Read Command Options
|
||||
|
@ -181,6 +181,7 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
lib_config=new RDConfig();
|
||||
lib_config->load();
|
||||
lib_config->setModuleName("RDLibrary");
|
||||
|
||||
SetCaption("");
|
||||
lib_import_path=RDGetHomeDir();
|
||||
|
@ -144,6 +144,8 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
log_config=new RDConfig();
|
||||
log_config->load();
|
||||
log_config->setModuleName("RDLogEdit");
|
||||
|
||||
str1=QString("RDLogEdit")+"v"+VERSION+" - "+tr("Host");
|
||||
str2=tr("User")+": ["+tr("Unknown")+"]";
|
||||
setCaption(QString().sprintf("%s: %s, %s",(const char *)str1,
|
||||
|
@ -106,6 +106,7 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
login_config=new RDConfig();
|
||||
login_config->load();
|
||||
login_config->setModuleName("RDLogin");
|
||||
|
||||
str=QString(tr("RDLogin - Station:"));
|
||||
setCaption(QString().sprintf("%s %s",(const char *)str,
|
||||
|
@ -122,6 +122,8 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
log_config=new RDConfig();
|
||||
log_config->load();
|
||||
log_config->setModuleName("RDLogManager");
|
||||
|
||||
setCaption(tr("RDLogManager"));
|
||||
|
||||
//
|
||||
|
@ -102,6 +102,8 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
mon_rdconfig=new RDConfig();
|
||||
mon_rdconfig->load();
|
||||
mon_rdconfig->setModuleName("RDMonitor");
|
||||
|
||||
mon_desktop_widget=new QDesktopWidget();
|
||||
mon_config=new RDMonitorConfig();
|
||||
mon_config->load();
|
||||
|
@ -122,6 +122,7 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
panel_config=new RDConfig();
|
||||
panel_config->load();
|
||||
panel_config->setModuleName("RDPanel");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -40,8 +40,8 @@
|
||||
|
||||
#define RD_MAX_CART_NUMBER 999999
|
||||
|
||||
CitadelXds::CitadelXds(ReplConfig *config)
|
||||
: ReplFactory(config)
|
||||
CitadelXds::CitadelXds(ReplConfig *repl_config)
|
||||
: ReplFactory(repl_config)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
@ -379,7 +379,7 @@ bool CitadelXds::PostCut(const QString &cutname,const QString &filename)
|
||||
//
|
||||
// Upload File
|
||||
//
|
||||
RDUpload *upload=new RDUpload(rdconfig->stationName());
|
||||
RDUpload *upload=new RDUpload(rdconfig);
|
||||
upload->setSourceFile(tempfile);
|
||||
upload->setDestinationUrl(config()->url()+"/"+filename);
|
||||
switch(upload_err=upload->runUpload(config()->urlUsername(),
|
||||
@ -432,7 +432,7 @@ void CitadelXds::PurgeCuts()
|
||||
path+="/";
|
||||
}
|
||||
QUrl url(path+q->value(1).toString());
|
||||
conv=new RDDelete();
|
||||
conv=new RDDelete(rdconfig);
|
||||
conv->setTargetUrl(url);
|
||||
if((conv_err=conv->runDelete(config()->urlUsername(),
|
||||
config()->urlPassword(),
|
||||
|
@ -21,12 +21,13 @@
|
||||
#ifndef CITADELXDS_H
|
||||
#define CITADELXDS_H
|
||||
|
||||
#include <replfactory.h>
|
||||
#include "globals.h"
|
||||
#include "replfactory.h"
|
||||
|
||||
class CitadelXds : public ReplFactory
|
||||
{
|
||||
public:
|
||||
CitadelXds(ReplConfig *config);
|
||||
CitadelXds(ReplConfig *repl_config);
|
||||
void startProcess();
|
||||
bool processCart(const unsigned cartnum);
|
||||
|
||||
|
@ -71,6 +71,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
rdconfig=new RDConfig();
|
||||
rdconfig->load();
|
||||
rdconfig->setModuleName("rdrepld");
|
||||
|
||||
//
|
||||
// Read Command Options
|
||||
|
@ -148,6 +148,7 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
select_configs.push_back(new RDConfig());
|
||||
select_configs.back()->setFilename(select_filenames[i]);
|
||||
select_configs.back()->load();
|
||||
select_configs.back()->setModuleName("RDSelect");
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -103,6 +103,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
ripcd_config=new RDConfig(RD_CONF_FILE);
|
||||
ripcd_config->load();
|
||||
ripcd_config->setModuleName("ripcd");
|
||||
|
||||
//
|
||||
// Make sure we're the only instance running
|
||||
|
@ -166,6 +166,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
rdconfig=new RDConfig();
|
||||
rdconfig->load();
|
||||
rdconfig->setModuleName("audio_convert_test");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -185,6 +185,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
rdconfig=new RDConfig();
|
||||
rdconfig->load();
|
||||
rdconfig->setModuleName("audio_export_test");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -125,6 +125,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
rdconfig=new RDConfig();
|
||||
rdconfig->load();
|
||||
rdconfig->setModuleName("audio_import_test");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -87,6 +87,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
config=new RDConfig();
|
||||
config->load();
|
||||
config->setModuleName("reserve_carts_test");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -55,6 +55,7 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
rd_config=new RDConfig(RD_CONF_FILE);
|
||||
rd_config->load();
|
||||
rd_config->setModuleName("sas_switch_torture");
|
||||
|
||||
QString err;
|
||||
test_db=RDInitDb(&schema,&err);
|
||||
|
@ -55,6 +55,8 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
rd_config=new RDConfig(RD_CONF_FILE);
|
||||
rd_config->load();
|
||||
rd_config->setModuleName("sas_torture");
|
||||
|
||||
QString err;
|
||||
test_db=RDInitDb(&schema,&err);
|
||||
if(!test_db) {
|
||||
|
@ -72,6 +72,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
rdconfig=new RDConfig();
|
||||
rdconfig->load();
|
||||
rdconfig->setModuleName("upload_test");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
@ -84,7 +85,7 @@ MainObject::MainObject(QObject *parent)
|
||||
exit(256);
|
||||
}
|
||||
|
||||
RDUpload *conv=new RDUpload(rdconfig->stationName(),this);
|
||||
RDUpload *conv=new RDUpload(rdconfig,this);
|
||||
conv->setSourceFile(source_filename);
|
||||
conv->setDestinationUrl(destination_url);
|
||||
printf("Uploading...\n");
|
||||
|
@ -60,6 +60,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
cut_config=new RDConfig();
|
||||
cut_config->load();
|
||||
cut_config->setModuleName("rdcheckcuts");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -62,6 +62,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
edit_config=new RDConfig();
|
||||
edit_config->load();
|
||||
edit_config->setModuleName("rdclilogedit");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -173,6 +173,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
rdconfig=new RDConfig();
|
||||
rdconfig->load();
|
||||
rdconfig->setModuleName("rdconvert");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -137,6 +137,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
rdconfig=new RDConfig();
|
||||
rdconfig->load();
|
||||
rdconfig->setModuleName("rddbcheck");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -97,6 +97,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
del_config=new RDConfig();
|
||||
del_config->load();
|
||||
del_config->setModuleName("rddelete");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -71,6 +71,7 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
dg_config=new RDConfig();
|
||||
dg_config->load();
|
||||
dg_config->setModuleName("RDDgiImport");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -74,6 +74,7 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
dg_config=new RDConfig();
|
||||
dg_config->load();
|
||||
dg_config->setModuleName("RDDiscImport");
|
||||
|
||||
//
|
||||
// Get Temporary File
|
||||
|
@ -205,6 +205,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
export_config=new RDConfig();
|
||||
export_config->load();
|
||||
export_config->setModuleName("rdexport");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -89,6 +89,7 @@ MainWidget::MainWidget(QWidget *parent)
|
||||
//
|
||||
gpi_config=new RDConfig();
|
||||
gpi_config->load();
|
||||
gpi_config->setModuleName("RDGpiMon");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -420,6 +420,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
import_config=new RDConfig();
|
||||
import_config->load();
|
||||
import_config->setModuleName("rdimport");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -82,6 +82,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
maint_config=new RDConfig();
|
||||
maint_config->load();
|
||||
maint_config->setModuleName("rdmaint");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -129,6 +129,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
set_config=new RDConfig();
|
||||
set_config->load();
|
||||
set_config->setModuleName("rdmarkerset");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -76,6 +76,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
purge_config=new RDConfig();
|
||||
purge_config->load();
|
||||
purge_config->setModuleName("rdpurgecasts");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
@ -128,8 +129,8 @@ void MainObject::PurgeCast(unsigned id)
|
||||
where PODCASTS.ID=%u",id);
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
feed=new RDFeed(q->value(0).toUInt());
|
||||
cast=new RDPodcast(id);
|
||||
feed=new RDFeed(q->value(0).toUInt(),purge_config);
|
||||
cast=new RDPodcast(purge_config,id);
|
||||
cast->removeAudio(feed,&errs,purge_config->logXloadDebugData());
|
||||
if(purge_verbose) {
|
||||
printf("purging cast: ID=%d,cmd=\"%s\"\n",id,(const char *)cmd);
|
||||
|
@ -248,6 +248,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
render_config=new RDConfig();
|
||||
render_config->load();
|
||||
render_config->setModuleName("rdrender");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -85,6 +85,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
rev_config=new RDConfig();
|
||||
rev_config->load();
|
||||
rev_config->setModuleName("rdrevert");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -56,6 +56,7 @@ MainObject::MainObject(QObject *parent)
|
||||
|
||||
rd_config=new RDConfig(RD_CONF_FILE);
|
||||
rd_config->load();
|
||||
rd_config->setModuleName("sas_shim");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
|
@ -63,6 +63,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
cast_config=new RDConfig();
|
||||
cast_config->load();
|
||||
cast_config->setModuleName("rdcastmanager.cgi");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
@ -803,7 +804,7 @@ void MainObject::ServeEditCast(int cast_id)
|
||||
QDateTime origin_datetime=RDUtcToLocal(q->value(10).toDateTime());
|
||||
QDateTime effective_datetime=RDUtcToLocal(q->value(12).toDateTime());
|
||||
|
||||
RDFeed *feed=new RDFeed(cast_feed_id);
|
||||
RDFeed *feed=new RDFeed(cast_feed_id,cast_config);
|
||||
|
||||
printf("Content-type: text/html\n\n");
|
||||
printf("<html>\n");
|
||||
@ -1450,8 +1451,8 @@ void MainObject::DeleteCast()
|
||||
Exit(0);
|
||||
}
|
||||
|
||||
RDFeed *feed=new RDFeed(cast_feed_id);
|
||||
RDPodcast *cast=new RDPodcast(cast_cast_id);
|
||||
RDFeed *feed=new RDFeed(cast_feed_id,cast_config);
|
||||
RDPodcast *cast=new RDPodcast(cast_config,cast_cast_id);
|
||||
cast->removeAudio(feed,&errs,cast_config->logXloadDebugData());
|
||||
delete cast;
|
||||
delete feed;
|
||||
@ -1482,7 +1483,7 @@ void MainObject::ServeSubscriptionReport()
|
||||
Exit(0);
|
||||
}
|
||||
cast_cast_id=-1;
|
||||
RDFeed *feed=new RDFeed(cast_key_name,this);
|
||||
RDFeed *feed=new RDFeed(cast_key_name,cast_config,this);
|
||||
|
||||
printf("Content-type: text/html\n\n");
|
||||
printf("<html>\n");
|
||||
@ -1616,7 +1617,7 @@ void MainObject::PostEpisode()
|
||||
Exit(0);
|
||||
}
|
||||
RDFeed::Error err;
|
||||
RDFeed *feed=new RDFeed(cast_feed_id,this);
|
||||
RDFeed *feed=new RDFeed(cast_feed_id,cast_config,this);
|
||||
int cast_id=feed->postFile(station,media_file,&err,
|
||||
cast_config->logXloadDebugData(),cast_config);
|
||||
delete feed;
|
||||
@ -1650,7 +1651,7 @@ void MainObject::ServeEpisodeReport()
|
||||
RDCgiError("Missing CAST_ID");
|
||||
Exit(0);
|
||||
}
|
||||
RDPodcast *cast=new RDPodcast(cast_cast_id);
|
||||
RDPodcast *cast=new RDPodcast(cast_config,cast_cast_id);
|
||||
|
||||
printf("Content-type: text/html\n\n");
|
||||
printf("<html>\n");
|
||||
|
@ -85,8 +85,9 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
// Read Configuration
|
||||
//
|
||||
RDConfig *config=new RDConfig();
|
||||
config=new RDConfig();
|
||||
config->load();
|
||||
config->setModuleName("rdfeed.cgi");
|
||||
|
||||
//
|
||||
// Determine Range
|
||||
@ -279,7 +280,7 @@ QString MainObject::ResolveChannelWildcards(RDSqlQuery *chan_q)
|
||||
QString MainObject::ResolveItemWildcards(const QString &keyname,
|
||||
RDSqlQuery *item_q,RDSqlQuery *chan_q)
|
||||
{
|
||||
RDFeed *feed=new RDFeed(keyname);
|
||||
RDFeed *feed=new RDFeed(keyname,config);
|
||||
QString ret=chan_q->value(11).toString();
|
||||
ret.replace("%ITEM_TITLE%",RDXmlEscape(item_q->value(0).toString()));
|
||||
ret.replace("%ITEM_DESCRIPTION%",
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include <qobject.h>
|
||||
#include <qsqldatabase.h>
|
||||
|
||||
#include <rdconfig.h>
|
||||
#include <rddb.h>
|
||||
|
||||
class MainObject : public QObject
|
||||
@ -41,6 +42,7 @@ class MainObject : public QObject
|
||||
unsigned cast_id);
|
||||
bool ShouldCount(const QString &hdr);
|
||||
void Redirect(const QString &url);
|
||||
RDConfig *config;
|
||||
};
|
||||
|
||||
|
||||
|
@ -52,6 +52,7 @@ Xport::Xport(QObject *parent)
|
||||
//
|
||||
xport_config=new RDConfig();
|
||||
xport_config->load();
|
||||
xport_config->setModuleName("rdxport.cgi");
|
||||
|
||||
//
|
||||
// Drop root permissions
|
||||
|
Loading…
x
Reference in New Issue
Block a user