aboutsummaryrefslogtreecommitdiff
path: root/modules/github.py
diff options
context:
space:
mode:
authorGravatar jesopo2019-11-26 13:41:40 +0000
committerGravatar jesopo2019-11-26 13:42:01 +0000
commit2d21dfa22931bdb887ccccba4a33e6fa4755e94b (patch)
tree6ef5e304e3e9a69f9afd66ac0bee4d98ec115399 /modules/github.py
parentremove all `eagle` stuff from nr.py (diff)
signature
utils.http.Response.data should always be `bytes` - add .decode and .soup
Diffstat (limited to 'modules/github.py')
-rw-r--r--modules/github.py43
1 files changed, 23 insertions, 20 deletions
diff --git a/modules/github.py b/modules/github.py
index 6212b9dd..b528ad2b 100644
--- a/modules/github.py
+++ b/modules/github.py
@@ -70,17 +70,18 @@ class Module(ModuleManager.BaseModule):
headers = {}
if not oauth2_token == None:
headers["Authorization"] = "token %s" % oauth2_token
- request = utils.http.Request(url, headers=headers, json=True)
+ request = utils.http.Request(url, headers=headers)
return utils.http.request(request)
def _commit(self, username, repository, commit):
page = self._get(API_COMMIT_URL % (username, repository, commit))
if page and page.code == 200:
+ page = page.json()
repo = utils.irc.color("%s/%s" % (username, repository), COLOR_REPO)
- sha = utils.irc.color(page.data["sha"][:8], COLOR_ID)
+ sha = utils.irc.color(page["sha"][:8], COLOR_ID)
return "(%s@%s) %s - %s %s" % (repo, sha,
- page.data["author"]["login"], page.data["commit"]["message"],
- self._short_url(page.data["html_url"]))
+ page["author"]["login"], page["commit"]["message"],
+ self._short_url(page["html_url"]))
def _parse_commit(self, target, ref):
username, repository, commit = self._parse_ref(target, ref, "@")
return self._commit(username, repository, commit)
@@ -116,21 +117,21 @@ class Module(ModuleManager.BaseModule):
def _parse_issue(self, page, username, repository, number):
repo = utils.irc.color("%s/%s" % (username, repository), COLOR_REPO)
number = utils.irc.color("#%s" % number, COLOR_ID)
- labels = [label["name"] for label in page.data["labels"]]
+ labels = [label["name"] for label in page["labels"]]
labels_str = ""
if labels:
labels_str = "[%s] " % ", ".join(labels)
- url = self._short_url(page.data["html_url"])
+ url = self._short_url(page["html_url"])
- state = page.data["state"]
+ state = page["state"]
if state == "open":
state = utils.irc.color("open", COLOR_NEUTRAL)
elif state == "closed":
state = utils.irc.color("closed", COLOR_NEGATIVE)
return "(%s issue%s, %s) %s %s%s" % (
- repo, number, state, page.data["title"], labels_str, url)
+ repo, number, state, page["title"], labels_str, url)
def _get_issue(self, username, repository, number):
return self._get(API_ISSUE_URL % (username, repository, number))
@@ -147,21 +148,21 @@ class Module(ModuleManager.BaseModule):
page = self._get_issue(username, repository, number)
if page and page.code == 200:
- self._parse_issue(page, username, repository, number)
+ self._parse_issue(page.json(), username, repository, number)
else:
event["stderr"].write("Could not find issue")
def _parse_pull(self, page, username, repository, number):
repo = utils.irc.color("%s/%s" % (username, repository), COLOR_REPO)
number = utils.irc.color("#%s" % number, COLOR_ID)
- branch_from = page.data["head"]["label"]
- branch_to = page.data["base"]["label"]
- added = self._added(page.data["additions"])
- removed = self._removed(page.data["deletions"])
- url = self._short_url(page.data["html_url"])
+ branch_from = page["head"]["label"]
+ branch_to = page["base"]["label"]
+ added = self._added(page["additions"])
+ removed = self._removed(page["deletions"])
+ url = self._short_url(page["html_url"])
- state = page.data["state"]
- if page.data["merged"]:
+ state = page["state"]
+ if page["merged"]:
state = utils.irc.color("merged", COLOR_POSITIVE)
elif state == "open":
state = utils.irc.color("open", COLOR_NEUTRAL)
@@ -170,7 +171,7 @@ class Module(ModuleManager.BaseModule):
return "(%s PR%s, %s) %s → %s [%s/%s] %s %s" % (
repo, number, state, branch_from, branch_to, added, removed,
- page.data["title"], url)
+ page["title"], url)
def _get_pull(self, username, repository, number):
return self._get(API_PULL_URL % (username, repository, number))
@utils.hook("received.command.ghpull", min_args=1)
@@ -187,7 +188,7 @@ class Module(ModuleManager.BaseModule):
page = self._get_pull(username, repository, number)
if page and page.code == 200:
- self._parse_pull(page, username, repository, number)
+ self._parse_pull(page.json(), username, repository, number)
else:
event["stderr"].write("Could not find pull request")
@@ -198,9 +199,11 @@ class Module(ModuleManager.BaseModule):
page = self._get_issue(username, repository, number)
if page and page.code == 200:
- if "pull_request" in page.data:
+ page = page.json()
+ if "pull_request" in page:
pull = self._get_pull(username, repository, number)
- return self._parse_pull(pull, username, repository, number)
+ return self._parse_pull(pull.json(), username, repository,
+ number)
else:
return self._parse_issue(page, username, repository, number)
else: