diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml
index a72007242..ae258f422 100644
--- a/resources/desktop/com.github.rssguard.appdata.xml
+++ b/resources/desktop/com.github.rssguard.appdata.xml
@@ -26,7 +26,7 @@
https://github.com/sponsors/martinrotter
-
+
none
diff --git a/src/librssguard/core/filterutils.cpp b/src/librssguard/core/filterutils.cpp
index 76bfce161..d9854ed4e 100644
--- a/src/librssguard/core/filterutils.cpp
+++ b/src/librssguard/core/filterutils.cpp
@@ -9,6 +9,7 @@
#include
#include
#include
+#include
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();
+ }
+}
diff --git a/src/librssguard/core/filterutils.h b/src/librssguard/core/filterutils.h
index 565836254..0387dad9e 100644
--- a/src/librssguard/core/filterutils.h
+++ b/src/librssguard/core/filterutils.h
@@ -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