]> git.sur5r.net Git - minitube/blobdiff - src/invidious/ivvideolist.cpp
New upstream version 3.5.1
[minitube] / src / invidious / ivvideolist.cpp
index 2ab47a6e6b3e6882b92fd1ce5a57d7b3ec4a9322..6026113b8f3d497e4f7cad75be3661f047ce319f 100644 (file)
@@ -7,9 +7,9 @@
 #include "video.h"
 
 IVVideoList::IVVideoList(const QString &req, const QString &name, QObject *parent)
-    : VideoSource(parent), name(name), req(req) {}
+    : IVVideoSource(parent), name(name), req(req) {}
 
-void IVVideoList::loadVideos(int max, int startIndex) {
+void IVVideoList::reallyLoadVideos(int max, int startIndex) {
     aborted = false;
 
     QUrl url(Invidious::instance().baseUrl() + req);
@@ -18,19 +18,16 @@ void IVVideoList::loadVideos(int max, int startIndex) {
     connect(reply, &HttpReply::data, this, [this](auto data) {
         QJsonDocument doc = QJsonDocument::fromJson(data);
         const QJsonArray items = doc.array();
+        if (items.isEmpty()) {
+            handleError("No videos");
+            return;
+        }
+
         IVListParser parser(items);
         const QVector<Video *> &videos = parser.getVideos();
-        qDebug() << "CAOCAO" << req << name << videos.size();
 
         emit gotVideos(videos);
         emit finished(videos.size());
     });
-    connect(reply, &HttpReply::error, this, [this](auto message) {
-        Invidious::instance().initServers();
-        emit error(message);
-    });
-}
-
-void IVVideoList::abort() {
-    aborted = true;
+    connect(reply, &HttpReply::error, this, &IVVideoList::handleError);
 }