2020-02-20 Fred Gleason <fredg@paravelsystems.com>

* Rebased 'RDUpload' to 'RDTransfer'.
This commit is contained in:
Fred Gleason
2020-02-20 11:42:32 -05:00
parent d7f395f7db
commit a75850637f
7 changed files with 33 additions and 58 deletions

View File

@@ -736,7 +736,7 @@ unsigned RDFeed::postCut(RDUser *user,RDStation *station,
unsigned cast_id=CreateCast(&destfile,length,cut->length());
delete cut;
cast=new RDPodcast(feed_config,cast_id);
upload=new RDUpload(this);
upload=new RDUpload(rda->config(),this);
upload->setSourceFile(tmpfile);
upload->setDestinationUrl(purgeUrl()+"/"+cast->audioFilename());
switch((upload_err=upload->runUpload(purgeUsername(),purgePassword(),
@@ -855,7 +855,7 @@ unsigned RDFeed::postFile(RDStation *station,const QString &srcfile,Error *err,
unsigned cast_id=CreateCast(&destfile,length,time_length);
RDPodcast *cast=new RDPodcast(feed_config,cast_id);
upload=new RDUpload(this);
upload=new RDUpload(rda->config(),this);
upload->setSourceFile(tmpfile);
upload->setDestinationUrl(purgeUrl()+"/"+cast->audioFilename());
switch((upload_err=upload->runUpload(purgeUsername(),purgePassword(),

View File

@@ -71,13 +71,25 @@ int UploadErrorCallback(CURL *curl,curl_infotype type,char *msg,size_t size,
}
RDUpload::RDUpload(QObject *parent)
: QObject(parent)
RDUpload::RDUpload(RDConfig *c,QObject *parent)
: RDTransfer(c,parent)
{
conv_aborting=false;
}
QStringList RDUpload::supportedSchemes() const
{
QStringList schemes;
schemes.push_back("file");
schemes.push_back("ftp");
schemes.push_back("sftp");
return schemes;
}
void RDUpload::setSourceFile(const QString &filename)
{
conv_src_filename=filename;
@@ -109,6 +121,10 @@ RDUpload::ErrorCode RDUpload::runUpload(const QString &username,
RDSystemUser *user=NULL;
char userpwd[256];
if(!urlIsSupported(conv_dst_url)) {
return RDUpload::ErrorUnsupportedProtocol;
}
//
// Validate User for file: transfers
//

View File

@@ -21,10 +21,11 @@
#ifndef RDUPLOAD_H
#define RDUPLOAD_H
#include <qobject.h>
#include <qurl.h>
class RDUpload : public QObject
#include <rdtransfer.h>
class RDUpload : public RDTransfer
{
Q_OBJECT;
public:
@@ -34,7 +35,8 @@ class RDUpload : public QObject
ErrorUnspecified=8,ErrorInvalidUser=9,ErrorAborted=10,
ErrorInvalidLogin=11,ErrorRemoteAccess=12,
ErrorRemoteConnection=13};
RDUpload(QObject *parent=0);
RDUpload(RDConfig *c,QObject *parent=0);
QStringList supportedSchemes() const;
void setSourceFile(const QString &filename);
void setDestinationUrl(const QString &url);
int totalSteps() const;