[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [discover] libdiscover: Share appstream screenshots code extraction between flatpak and packagekit
From: Aleix Pol <null () kde ! org>
Date: 2018-08-07 15:40:32
Message-ID: E1fn464-0007R0-QK () code ! kde ! org
[Download RAW message or body]
Git commit 1ef4447b9e829bb0dc686ca70a453edd71e6859b by Aleix Pol.
Committed on 07/08/2018 at 15:39.
Pushed by apol into branch 'master'.
Share appstream screenshots code extraction between flatpak and packagekit
M +18 -0 libdiscover/appstream/AppStreamUtils.h
M +2 -13 libdiscover/backends/FlatpakBackend/FlatpakResource.cpp
M +2 -13 libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
https://commits.kde.org/discover/1ef4447b9e829bb0dc686ca70a453edd71e6859b
diff --git a/libdiscover/appstream/AppStreamUtils.h \
b/libdiscover/appstream/AppStreamUtils.h index 9dd8c152..78de3c2f 100644
--- a/libdiscover/appstream/AppStreamUtils.h
+++ b/libdiscover/appstream/AppStreamUtils.h
@@ -23,9 +23,11 @@
#include <QUrl>
#include <QList>
+#include <QDebug>
#include <AppStreamQt/image.h>
#include <AppStreamQt/component.h>
#include <AppStreamQt/release.h>
+#include <AppStreamQt/screenshot.h>
namespace AppStreamUtils
{
@@ -55,6 +57,22 @@ static QString changelogToHtml(const AppStream::Component \
&appdata) return changelog;
}
+static QPair<QList<QUrl>, QList<QUrl>> fetchScreenshots(const AppStream::Component \
&appdata) +{
+ QList<QUrl> screenshots, thumbnails;
+ Q_FOREACH (const AppStream::Screenshot &s, appdata.screenshots()) {
+ const auto images = s.images();
+ const QUrl thumbnail = AppStreamUtils::imageOfKind(images, \
AppStream::Image::KindThumbnail); + const QUrl plain = \
AppStreamUtils::imageOfKind(images, AppStream::Image::KindSource); + if \
(plain.isEmpty()) + qWarning() << "invalid screenshot for" << \
appdata.name(); +
+ screenshots << plain;
+ thumbnails << (thumbnail.isEmpty() ? plain : thumbnail);
+ }
+ return {screenshots, thumbnails};
+}
+
}
#endif
diff --git a/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp \
b/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp index f98793ae..86a69d54 \
100644
--- a/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp
+++ b/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp
@@ -414,19 +414,8 @@ void FlatpakResource::fetchChangelog()
void FlatpakResource::fetchScreenshots()
{
- QList<QUrl> thumbnails, screenshots;
-
- Q_FOREACH (const AppStream::Screenshot &s, m_appdata.screenshots()) {
- const QUrl thumbnail = AppStreamUtils::imageOfKind(s.images(), \
AppStream::Image::KindThumbnail);
- const QUrl plain = AppStreamUtils::imageOfKind(s.images(), \
AppStream::Image::KindSource);
- if (plain.isEmpty())
- qWarning() << "invalid screenshot for" << name();
-
- screenshots << plain;
- thumbnails << (thumbnail.isEmpty() ? plain : thumbnail);
- }
-
- Q_EMIT screenshotsFetched(thumbnails, screenshots);
+ const auto sc = AppStreamUtils::fetchScreenshots(m_appdata);
+ Q_EMIT screenshotsFetched(sc.first, sc.second);
}
void FlatpakResource::setArch(const QString &arch)
diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp \
b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp index \
47715ad3..5fc50c62 100644
--- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
+++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
@@ -162,19 +162,8 @@ bool AppPackageKitResource::isTechnical() const
void AppPackageKitResource::fetchScreenshots()
{
- QList<QUrl> thumbnails, screenshots;
-
- Q_FOREACH (const AppStream::Screenshot &s, m_appdata.screenshots()) {
- const QUrl thumbnail = AppStreamUtils::imageOfKind(s.images(), \
AppStream::Image::KindThumbnail);
- const QUrl plain = AppStreamUtils::imageOfKind(s.images(), \
AppStream::Image::KindSource);
- if (plain.isEmpty())
- qWarning() << "invalid screenshot for" << name();
-
- screenshots << plain;
- thumbnails << (thumbnail.isEmpty() ? plain : thumbnail);
- }
-
- Q_EMIT screenshotsFetched(thumbnails, screenshots);
+ const auto sc = AppStreamUtils::fetchScreenshots(m_appdata);
+ Q_EMIT screenshotsFetched(sc.first, sc.second);
}
QStringList AppPackageKitResource::allPackageNames() const
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic