allow launching of external programs in article filters
This commit is contained in:
parent
6dbe7a82db
commit
b48f2477ae
3 changed files with 21 additions and 1 deletions
|
@ -26,7 +26,7 @@
|
|||
<url type="donation">https://github.com/sponsors/martinrotter</url>
|
||||
<content_rating type="oars-1.1" />
|
||||
<releases>
|
||||
<release version="4.0.4" date="2021-12-14"/>
|
||||
<release version="4.0.4" date="2021-12-15"/>
|
||||
</releases>
|
||||
<content_rating type="oars-1.0">
|
||||
<content_attribute id="violence-cartoon">none</content_attribute>
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include <QHostInfo>
|
||||
#include <QJsonArray>
|
||||
#include <QJsonDocument>
|
||||
#include <QProcess>
|
||||
|
||||
FilterUtils::FilterUtils(QObject* parent) : QObject(parent) {}
|
||||
|
||||
|
@ -84,3 +85,21 @@ QString FilterUtils::fromXmlToJson(const QString& xml) const {
|
|||
QDateTime FilterUtils::parseDateTime(const QString& dat) const {
|
||||
return TextFactory::parseDateTime(dat);
|
||||
}
|
||||
|
||||
QString FilterUtils::runExecutableGetOutput(const QString& executable, const QStringList& arguments) const {
|
||||
QProcess proc;
|
||||
|
||||
proc.setProgram(executable);
|
||||
proc.setArguments(arguments);
|
||||
|
||||
proc.start();
|
||||
|
||||
if (proc.waitForFinished() &&
|
||||
proc.exitStatus() == QProcess::ExitStatus::NormalExit &&
|
||||
proc.exitCode() == EXIT_SUCCESS) {
|
||||
return proc.readAllStandardOutput();
|
||||
}
|
||||
else {
|
||||
return proc.readAllStandardError().simplified();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ class FilterUtils : public QObject {
|
|||
|
||||
// Parses string into date/time object.
|
||||
Q_INVOKABLE QDateTime parseDateTime(const QString& dat) const;
|
||||
Q_INVOKABLE QString runExecutableGetOutput(const QString& executable, const QStringList& arguments = {}) const;
|
||||
};
|
||||
|
||||
#endif // FILTERUTILS_H
|
||||
|
|
Loading…
Add table
Reference in a new issue