mirror of https://github.com/KDE/kasts.git
Add fetch function that can take a list of urls
This commit is contained in:
parent
28e8051500
commit
695baf9cbb
|
@ -62,30 +62,37 @@ void Fetcher::fetch(const QString &url)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void Fetcher::fetchAll()
|
void Fetcher::fetch(const QStringList &urls)
|
||||||
{
|
{
|
||||||
if (m_updating) return; // update is already running, do nothing
|
if (m_updating) return; // update is already running, do nothing
|
||||||
|
|
||||||
QSqlQuery query;
|
|
||||||
query.prepare(QStringLiteral("SELECT COUNT (url) FROM Feeds;"));
|
|
||||||
Database::instance().execute(query);
|
|
||||||
query.next();
|
|
||||||
if (query.value(0).toInt() == 0)
|
|
||||||
return; // no feeds in database
|
|
||||||
|
|
||||||
m_updating = true;
|
m_updating = true;
|
||||||
m_updateProgress = 0;
|
m_updateProgress = 0;
|
||||||
m_updateTotal = query.value(0).toInt();
|
m_updateTotal = urls.count();
|
||||||
connect(this, &Fetcher::updateProgressChanged, this, &Fetcher::updateMonitor);
|
connect(this, &Fetcher::updateProgressChanged, this, &Fetcher::updateMonitor);
|
||||||
Q_EMIT updatingChanged(m_updating);
|
Q_EMIT updatingChanged(m_updating);
|
||||||
Q_EMIT updateProgressChanged(m_updateProgress);
|
Q_EMIT updateProgressChanged(m_updateProgress);
|
||||||
Q_EMIT updateTotalChanged(m_updateTotal);
|
Q_EMIT updateTotalChanged(m_updateTotal);
|
||||||
|
|
||||||
|
for (int i=0; i<urls.count(); i++) {
|
||||||
|
fetch(urls[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Fetcher::fetchAll()
|
||||||
|
{
|
||||||
|
QStringList urls;
|
||||||
|
QSqlQuery query;
|
||||||
query.prepare(QStringLiteral("SELECT url FROM Feeds;"));
|
query.prepare(QStringLiteral("SELECT url FROM Feeds;"));
|
||||||
Database::instance().execute(query);
|
Database::instance().execute(query);
|
||||||
while (query.next()) {
|
while (query.next()) {
|
||||||
fetch(query.value(0).toString());
|
urls += query.value(0).toString();;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (urls.count() > 0)
|
||||||
|
fetch(urls);
|
||||||
|
else
|
||||||
|
return; // no feeds in database
|
||||||
}
|
}
|
||||||
|
|
||||||
void Fetcher::updateMonitor(int progress)
|
void Fetcher::updateMonitor(int progress)
|
||||||
|
|
|
@ -27,6 +27,7 @@ public:
|
||||||
return _instance;
|
return _instance;
|
||||||
}
|
}
|
||||||
Q_INVOKABLE void fetch(const QString &url);
|
Q_INVOKABLE void fetch(const QString &url);
|
||||||
|
Q_INVOKABLE void fetch(const QStringList &urls);
|
||||||
Q_INVOKABLE void fetchAll();
|
Q_INVOKABLE void fetchAll();
|
||||||
Q_INVOKABLE QString image(const QString &url) const;
|
Q_INVOKABLE QString image(const QString &url) const;
|
||||||
void removeImage(const QString &url);
|
void removeImage(const QString &url);
|
||||||
|
|
Loading…
Reference in New Issue