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

* Added a 'FEEDS.AUDIENCE_METRICS' field to the database.
	* Incremented the database version to 316.
	* Added a 'Collect Audience Metrics' checkbox to the 'Feed'
	dialog in rdadmin(1).
	* Added an 'RDTransfer' base class.
	* Rebased 'RDDelete' to 'RDTransfer'.
	* Added 'sftp' support to 'RDDelete'.
	* Added 'file' support to 'RDDelete'.
	* Refactored RSS generation to occur in 'RDFeed'.
	* Added a 'delete_test' test harness.
This commit is contained in:
Fred Gleason
2020-02-20 11:06:46 -05:00
parent de4c6b0c8c
commit d7f395f7db
40 changed files with 981 additions and 375 deletions

48
lib/rdtransfer.cpp Normal file
View File

@@ -0,0 +1,48 @@
// rdtransfer.cpp
//
// Abstract base class for Rivendell remote data tranfer methods
//
// (C) Copyright 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
// published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include "rdtransfer.h"
RDTransfer::RDTransfer(RDConfig *c,QObject *parent)
: QObject(parent)
{
xfer_config=c;
}
bool RDTransfer::urlIsSupported(const QString &url)
{
return urlIsSupported(QUrl(url));
}
bool RDTransfer::urlIsSupported(const QUrl &url)
{
if(url.isRelative()||(!url.isValid())) {
return false;
}
return supportedSchemes().contains(url.scheme());
}
RDConfig *RDTransfer::config() const
{
return xfer_config;
}