inoreader batch edit labels size to constant

This commit is contained in:
Martin Rotter 2021-02-01 14:30:29 +01:00
parent 797cdb55ed
commit d3cf130d04
3 changed files with 5 additions and 9 deletions

View File

@ -17,6 +17,7 @@
#define INOREADER_DEFAULT_BATCH_SIZE 100
#define INOREADER_MAX_BATCH_SIZE 999
#define INOREADER_MIN_BATCH_SIZE 20
#define INOREADER_API_EDIT_TAG_BATCH 50
#define INOREADER_STATE_READING_LIST "state/com.google/reading-list"
#define INOREADER_STATE_READ "state/com.google/read"

View File

@ -17,7 +17,6 @@ class InoreaderServiceRoot : public ServiceRoot, public CacheForServiceRoot {
void saveAccountDataToDatabase(bool creating_new);
void setNetwork(InoreaderNetworkFactory* network);
InoreaderNetworkFactory* network() const;
virtual LabelOperation supportedLabelOperations() const;
@ -45,10 +44,6 @@ class InoreaderServiceRoot : public ServiceRoot, public CacheForServiceRoot {
InoreaderNetworkFactory* m_network;
};
inline void InoreaderServiceRoot::setNetwork(InoreaderNetworkFactory* network) {
m_network = network;
}
inline InoreaderNetworkFactory* InoreaderServiceRoot::network() const {
return m_network;
}

View File

@ -227,13 +227,13 @@ QNetworkReply::NetworkError InoreaderNetworkFactory::editLabels(const QString& s
trimmed_ids.append(QString("i=") + id);
}
QStringList working_subset; working_subset.reserve(std::min(50, trimmed_ids.size()));
QStringList working_subset; working_subset.reserve(std::min(INOREADER_API_EDIT_TAG_BATCH, trimmed_ids.size()));
int timeout = qApp->settings()->value(GROUP(Feeds), SETTING(Feeds::UpdateTimeout)).toInt();
// Now, we perform messages update in batches (max 200 messages per batch).
// Now, we perform messages update in batches (max XX messages per batch).
while (!trimmed_ids.isEmpty()) {
// We take 50 IDs.
for (int i = 0; i < 50 && !trimmed_ids.isEmpty(); i++) {
// We take XX IDs.
for (int i = 0; i < INOREADER_API_EDIT_TAG_BATCH && !trimmed_ids.isEmpty(); i++) {
working_subset.append(trimmed_ids.takeFirst());
}