mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2026-01-11 07:05:48 +01:00
2020-02-20 Fred Gleason <fredg@paravelsystems.com>
* Rebased 'RDUpload' to 'RDTransfer'.
This commit is contained in:
@@ -19571,3 +19571,5 @@
|
||||
* Added 'file' support to 'RDDelete'.
|
||||
* Refactored RSS generation to occur in 'RDFeed'.
|
||||
* Added a 'delete_test' test harness.
|
||||
2020-02-20 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Rebased 'RDUpload' to 'RDTransfer'.
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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
|
||||
//
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// Batch Routines for the Rivendell netcatcher daemon
|
||||
//
|
||||
// (C) Copyright 2002-2019 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2020 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
|
||||
@@ -314,7 +314,7 @@ void MainObject::RunUpload(CatchEvent *evt)
|
||||
(const char *)evt->tempName().toUtf8(),
|
||||
(const char *)evt->resolvedUrl().toUtf8(),
|
||||
evt->id());
|
||||
RDUpload *conv=new RDUpload(this);
|
||||
RDUpload *conv=new RDUpload(rda->config(),this);
|
||||
conv->setSourceFile(evt->tempName());
|
||||
conv->setDestinationUrl(evt->resolvedUrl());
|
||||
QString url_username=evt->urlUsername();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// Replicator implementation for the Citadel XDS Portal
|
||||
//
|
||||
// (C) Copyright 2010-2019 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2010-2020 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
|
||||
@@ -366,7 +366,7 @@ bool CitadelXds::PostCut(const QString &cutname,const QString &filename)
|
||||
//
|
||||
// Upload File
|
||||
//
|
||||
RDUpload *upload=new RDUpload();
|
||||
RDUpload *upload=new RDUpload(rda->config());
|
||||
upload->setSourceFile(tempfile);
|
||||
upload->setDestinationUrl(config()->url()+"/"+filename);
|
||||
switch(upload_err=upload->runUpload(config()->urlUsername(),
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// Test Rivendell file uploading.
|
||||
//
|
||||
// (C) Copyright 2010,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2010-2020 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
|
||||
@@ -74,33 +74,6 @@ MainObject::MainObject(QObject *parent)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
//
|
||||
// Read Command Options
|
||||
//
|
||||
RDCmdSwitch *cmd=
|
||||
new RDCmdSwitch(qApp->argc(),qApp->argv(),"upload_test",
|
||||
UPLOAD_TEST_USAGE);
|
||||
for(unsigned i=0;i<cmd->keys();i++) {
|
||||
if(cmd->key(i)=="--username") {
|
||||
username=cmd->value(i);
|
||||
cmd->setProcessed(i,true);
|
||||
}
|
||||
if(cmd->key(i)=="--password") {
|
||||
password=cmd->value(i);
|
||||
cmd->setProcessed(i,true);
|
||||
}
|
||||
if(cmd->key(i)=="--source-file") {
|
||||
source_filename=cmd->value(i);
|
||||
cmd->setProcessed(i,true);
|
||||
}
|
||||
if(cmd->key(i)=="--destination-url") {
|
||||
destination_url=cmd->value(i);
|
||||
cmd->setProcessed(i,true);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
//
|
||||
// Sanity Checks
|
||||
//
|
||||
@@ -112,29 +85,11 @@ MainObject::MainObject(QObject *parent)
|
||||
fprintf(stderr,"upload_test: missing destination-url\n");
|
||||
exit(256);
|
||||
}
|
||||
/*
|
||||
//
|
||||
// Read Configuration
|
||||
//
|
||||
rdconfig=new RDConfig();
|
||||
rdconfig->load();
|
||||
rdconfig->setModuleName("upload_test");
|
||||
|
||||
//
|
||||
// Open Database
|
||||
//
|
||||
QString err (tr("upload_test: "));
|
||||
QSqlDatabase *db=RDInitDb(&schema,&err);
|
||||
if(!db) {
|
||||
fprintf(stderr,err.ascii());
|
||||
delete cmd;
|
||||
exit(256);
|
||||
}
|
||||
*/
|
||||
//
|
||||
// Run the Test
|
||||
//
|
||||
RDUpload *conv=new RDUpload(this);
|
||||
RDUpload *conv=new RDUpload(rda->config(),this);
|
||||
conv->setSourceFile(source_filename);
|
||||
conv->setDestinationUrl(destination_url);
|
||||
printf("Uploading...\n");
|
||||
|
||||
Reference in New Issue
Block a user