Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(982)

Unified Diff: third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github.py

Issue 2595143002: Add label after creating PR, refactor WPTGitHub.request (Closed)
Patch Set: Expand abbreviated variable names Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github.py
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github.py
index 655c2143f7e23d99017e5edd57c1798e78fbd7c9..16a192df9ccffbbe8c87587a0ef7314a8d1b690d 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github.py
@@ -30,6 +30,19 @@ class WPTGitHub(object):
def auth_token(self):
return base64.encodestring('{}:{}'.format(self.user, self.token)).strip()
+ def request(self, path, method, body=None):
+ assert path.startswith('/')
+ if body:
+ body = json.dumps(body)
+ opener = urllib2.build_opener(urllib2.HTTPHandler)
+ request = urllib2.Request(url=API_BASE + path, data=body)
+ request.add_header('Accept', 'application/vnd.github.v3+json')
+ request.add_header('Authorization', 'Basic {}'.format(self.auth_token()))
+ request.get_method = lambda: method
+ response = opener.open(request)
+ status_code = response.getcode()
+ return json.load(response), status_code
+
def create_pr(self, local_branch_name, desc_title, body):
"""Creates a PR on GitHub.
@@ -52,41 +65,32 @@ class WPTGitHub(object):
"body": body,
"head": pr_branch_name,
"base": 'master',
- "labels": [EXPORT_LABEL]
}
- data, status_code = self.request(path, body)
+ data, status_code = self.request(path, method='POST', body=body)
if status_code != 201:
return None
return data
+ def add_label(self, number):
+ path = '/repos/w3c/web-platform-tests/issues/%d/labels' % number
+ body = [EXPORT_LABEL]
+ return self.request(path, method='POST', body=body)
+
def in_flight_pull_requests(self):
url_encoded_label = EXPORT_LABEL.replace(' ', '%20')
path = '/search/issues?q=repo:w3c/web-platform-tests%20is:open%20type:pr%20labels:{}'.format(url_encoded_label)
- data, status_code = self.request(path)
+ data, status_code = self.request(path, method='GET')
if status_code == 200:
return data['items']
else:
raise Exception('Non-200 status code (%s): %s' % (status_code, data))
- def request(self, path, body=None):
- assert path.startswith('/')
-
- if body:
- body = json.dumps(body)
-
- req = urllib2.Request(url=API_BASE + path, data=body)
- req.add_header('Accept', 'application/vnd.github.v3+json')
- req.add_header('Authorization', 'Basic {}'.format(self.auth_token()))
- res = urllib2.urlopen(req)
- status_code = res.getcode()
- return json.load(res), status_code
-
def merge_pull_request(self, pull_request_number):
path = '/repos/w3c/web-platform-tests/pulls/%d/merge' % pull_request_number
body = {}
- response, content = self.request(path, body)
+ response, content = self.request(path, method='PUT', body=body)
if response['status'] == '200':
return json.loads(content)
« no previous file with comments | « third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698