From 469d14dfaedcfbfb64e62f30a93da113ab9abe1a Mon Sep 17 00:00:00 2001 From: Adam Coddington Date: Thu, 21 Aug 2014 22:11:26 -0700 Subject: [PATCH] Conditionally filter pull requests, too, if github.filter_pull_requests is true. --- bugwarrior/services/github.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/bugwarrior/services/github.py b/bugwarrior/services/github.py index df32a4330..b9255ab7d 100644 --- a/bugwarrior/services/github.py +++ b/bugwarrior/services/github.py @@ -147,6 +147,9 @@ def __init__(self, *args, **kw): self.label_template = self.config_get_default( 'label_template', default='{{label}}', to_type=six.text_type ) + self.filter_pull_requests = self.config_get_default( + 'filter_pull_requests', default=False, to_type=asbool + ) def get_service_metadata(self): return { @@ -238,13 +241,20 @@ def issues(self): self.get_owned_repo_issues(user + "/" + repo['name']) ) issues.update(self.get_directly_assigned_issues()) - log.name(self.target).debug(" Found {0} total.", len(issues)) + log.name(self.target).debug(" Found {0} issues total.", len(issues)) issues = filter(self.include, issues.values()) - log.name(self.target).debug(" Pruned down to {0}", len(issues)) + log.name(self.target).debug(" Pruned down to {0} issues", len(issues)) - # Next, get all the pull requests (and don't prune) + # Next, get all the pull requests (and don't prune by default) repos = filter(self.filter_repos_for_prs, all_repos) requests = sum([self._reqs(user + "/" + r['name']) for r in repos], []) + log.name(self.target).debug(" Found {0} pull requests", len(requests)) + if self.filter_pull_requests: + requests = filter(self.include, requests) + log.name(self.target).debug( + " Pruned down to {0} pull requests", + len(requests) + ) # For pull requests, github lists an 'issue' and a 'pull request' with # the same id and the same URL. So, if we find any pull requests, @@ -253,7 +263,6 @@ def issues(self): request_urls = [r[1]['html_url'] for r in requests] issues = [i for i in issues if not i[1]['html_url'] in request_urls] - log.name(self.target).debug(" Added {0} pull requests", len(requests)) for tag, issue in issues: extra = {