From cd5f77dd2c789f0e6d59c24cf52549331ce09252 Mon Sep 17 00:00:00 2001 From: Sergiy Litvinchuk Date: Fri, 6 May 2016 11:36:36 +0300 Subject: [PATCH 1/2] Get full list of projects --- sentry_redmine/client.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/sentry_redmine/client.py b/sentry_redmine/client.py index 4170d81..ae7915a 100644 --- a/sentry_redmine/client.py +++ b/sentry_redmine/client.py @@ -20,8 +20,21 @@ class RedmineClient(object): return json.loads(req.text) def get_projects(self): - response = self.request('GET', '/projects.json') - return response + limit = 100 + offset = 0 + projects = [] + + def get_response(limit, offset): + return self.request('GET', '/projects.json?limit=%s&offset=%s' % (limit, offset)) + + response = get_response(limit, offset) + + while len(response['projects']): + projects.extend(response['projects']) + offset += limit + response = get_response(limit, offset) + + return {'projects': projects} def get_trackers(self): response = self.request('GET', '/trackers.json') From 7141283274c574826c817c2afcb04fde33f92b16 Mon Sep 17 00:00:00 2001 From: Sergiy Litvinchuk Date: Fri, 6 May 2016 11:48:11 +0300 Subject: [PATCH 2/2] update projects list offset calculation --- sentry_redmine/client.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sentry_redmine/client.py b/sentry_redmine/client.py index ae7915a..34e59e3 100644 --- a/sentry_redmine/client.py +++ b/sentry_redmine/client.py @@ -21,18 +21,16 @@ class RedmineClient(object): def get_projects(self): limit = 100 - offset = 0 projects = [] def get_response(limit, offset): return self.request('GET', '/projects.json?limit=%s&offset=%s' % (limit, offset)) - response = get_response(limit, offset) + response = get_response(limit, 0) while len(response['projects']): projects.extend(response['projects']) - offset += limit - response = get_response(limit, offset) + response = get_response(limit, response['offset'] + response['limit']) return {'projects': projects}