You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by bo...@apache.org on 2014/07/25 22:13:12 UTC

[2/7] git commit: Fixed code to do pagination for github

Fixed code to do pagination for github


Project: http://git-wip-us.apache.org/repos/asf/incubator-storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-storm/commit/4550bbf5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-storm/tree/4550bbf5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-storm/diff/4550bbf5

Branch: refs/heads/master
Commit: 4550bbf59ad4bd68d249433235164bc00520aeb9
Parents: b50beb7
Author: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Authored: Thu May 29 19:41:47 2014 +0000
Committer: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Committed: Thu May 29 19:41:47 2014 +0000

----------------------------------------------------------------------
 dev-tools/jira-github-join.py | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-storm/blob/4550bbf5/dev-tools/jira-github-join.py
----------------------------------------------------------------------
diff --git a/dev-tools/jira-github-join.py b/dev-tools/jira-github-join.py
index 0c66829..88630ba 100755
--- a/dev-tools/jira-github-join.py
+++ b/dev-tools/jira-github-join.py
@@ -256,18 +256,26 @@ class GitHub:
 			authstr = base64.encodestring('%s:%s' % (options.gituser, gitpassword)).replace('\n', '')
 			self.headers["Authorization"] = "Basic "+authstr
 	
-	def openPulls(self, user, repo):
-		url = "https://api.github.com/repos/"+user+"/"+repo+"/pulls?state=open"
-		req = urllib2.Request(url,None,self.headers)
-		result = urllib2.urlopen(req)
-		contents = result.read()
-		if result.getcode() != 200:
-			raise Exception(result.getcode() + " != 200 "+ contents)
+	def pulls(self, user, repo, type="all"):
+		page=1
 		ret = []
-		for part in json.loads(contents):
-			ret.append(GitPullRequest(part, self))
-		return ret
-
+		while True:
+			url = "https://api.github.com/repos/"+user+"/"+repo+"/pulls?state="+type+"&page="+str(page)
+		
+			req = urllib2.Request(url,None,self.headers)
+			result = urllib2.urlopen(req)
+			contents = result.read()
+			if result.getcode() != 200:
+				raise Exception(result.getcode() + " != 200 "+ contents)
+			got = json.loads(contents)
+			for part in got:
+				ret.append(GitPullRequest(part, self))
+			if len(got) == 0:
+				return ret
+			page = page + 1
+			
+	def openPulls(self, user, repo):
+		return self.pulls(user, repo, "open")
 
 def main():
 	parser = OptionParser(usage="usage: %prog [options]")