ResInsight/ThirdParty/Ert/script/download-pr
Magne Sjaastad 04091ad77d #4266 Update libecl
Use commit 0e1e780fd6f18ce93119061e36a4fca9711bc020

Excluded multibuild folder, as this caused git issues
2019-05-09 08:40:32 +02:00

78 lines
1.8 KiB
Python

#!/usr/bin/env python
import requests
import json
import os
import sys
url_fmt = "https://api.github.com/repos/Equinor/libecl/pulls/%d"
def getPRList( api_token, pr1, pr2):
pr = pr1
pr_list = []
prev_len = 0
sys.stderr.write("Downloading PR: ")
while True:
url = url_fmt % pr
response = requests.get( url , params = {"access_token" : api_token})
for i in range(prev_len):
sys.stdout.write("\b")
sys.stdout.write("%d" % pr )
sys.stdout.flush()
prev_len = len("%s" % pr)
if response.status_code == 200:
pr_list.append( json.loads( response.content ) )
pr += 1
if pr > pr2:
break
return pr_list
def printPRList( pr_list , fileH):
for pr in pr_list:
title = pr["title"]
body = pr["body"]
nr = pr["number"]
url = "https://github.com/Equinor/libecl/pull/{}/".format(nr)
try:
title = str(title)
except UnicodeEncodeError:
title = "UnicodeError"
fileH.write( "[`{nr} <{url}>`] : {title}".format(nr = nr, url=url, title = title))
try:
fileH.write( "%s\n\n\n" % body )
except UnicodeEncodeError:
fileH.write("UnicodeError")
def main():
if "GITHUB_API_TOKEN" in os.environ:
github_api_token = os.getenv("GITHUB_API_TOKEN")
else:
sys.exit("You must create a github access token and set the environment variable 'GITHUB_API_TOKEN' to proceed")
pr1 = int(sys.argv[1])
pr2 = int(sys.argv[2])
pr_list = getPRList( github_api_token, pr1, pr2)
filename = "/tmp/relnotes-%d-%d" % (pr1 , pr2)
printPRList( pr_list , open(filename , "w"))
print "\nHave created file: %s which can be a starting point for release notes" % filename
if __name__ == "__main__":
main( )