diff options
author | Brendan Long <self@brendanlong.com> | 2019-02-09 02:33:23 +0300 |
---|---|---|
committer | Brendan Long <self@brendanlong.com> | 2019-02-09 22:04:18 +0300 |
commit | 70707972ef2c4109d5110d50566ddbc307883501 (patch) | |
tree | 09f8f6548a965e919bec6a6f05697923c160d803 /plugins | |
parent | 5174f60c77c7129139a10a7477995e81ebc75516 (diff) |
Improve arguments in ttrssAPI.getArticles
Take a string list instead of a comma separated string, and just return the
articles.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/backend/ttrss/ttrssAPI.vala | 9 | ||||
-rw-r--r-- | plugins/backend/ttrss/ttrssInterface.vala | 13 |
2 files changed, 10 insertions, 12 deletions
diff --git a/plugins/backend/ttrss/ttrssAPI.vala b/plugins/backend/ttrss/ttrssAPI.vala index 65ea00a8..f5bd7ccc 100644 --- a/plugins/backend/ttrss/ttrssAPI.vala +++ b/plugins/backend/ttrss/ttrssAPI.vala @@ -560,12 +560,16 @@ public Gee.List<string>? NewsPlus(ArticleStatus type, int limit) } -public void getArticles(string articleIDs, Gee.List<Article> articles) +public Gee.List<Article> getArticles(Gee.List<string> articleIDs) { + var articles = new Gee.ArrayList<Article>(); + if(articleIDs.is_empty) + return articles; + var message = new ttrssMessage(m_session, m_ttrss_url); message.add_string("sid", m_ttrss_sessionid); message.add_string("op", "getArticle"); - message.add_string("article_id", articleIDs); + message.add_string("article_id", StringUtils.join(articleIDs, ",")); int error = message.send(); if(error == ConnectionError.SUCCESS) @@ -633,6 +637,7 @@ public void getArticles(string articleIDs, Gee.List<Article> articles) articles.add(Article); } } + return articles; } public bool catchupFeed(string feedID, bool isCatID) diff --git a/plugins/backend/ttrss/ttrssInterface.vala b/plugins/backend/ttrss/ttrssInterface.vala index 4621f382..f86d1bfb 100644 --- a/plugins/backend/ttrss/ttrssInterface.vala +++ b/plugins/backend/ttrss/ttrssInterface.vala @@ -475,7 +475,7 @@ public void getArticles(int count, ArticleStatus whatToGet, DateTime? since, str if(cancellable != null && cancellable.is_cancelled()) return; - string articleIDs = ""; + var articleIDs = new Gee.ArrayList<string>(); int skip = count; int amount = 200; @@ -509,18 +509,11 @@ public void getArticles(int count, ArticleStatus whatToGet, DateTime? since, str var id = article.getArticleID(); if(!db.article_exists(id)) { - articleIDs += id + ","; + articleIDs.add(id); } } } - - if(articleIDs.length > 0) - articleIDs = articleIDs.substring(0, articleIDs.length -1); - - var articles = new Gee.LinkedList<Article>(); - - if(articleIDs != "") - m_api.getArticles(articleIDs, articles); + var articles = m_api.getArticles(articleIDs); articles.sort((a, b) => { return strcmp(a.getArticleID(), b.getArticleID()); |