Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion handlers/status_update/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def on_pr_updated(self, api, payload):

def on_pr_closed(self, api, payload):
handle_custom_labels(api, 'closed')
if payload['pull_request']['merged']:
if "pull_request" in payload and payload['pull_request']['merged']:
api.remove_label("S-awaiting-merge")
handle_custom_labels(api, 'merged')

Expand Down
16 changes: 9 additions & 7 deletions newpr.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

from base64 import standard_b64encode
import cgi
import cgitb
from configparser import RawConfigParser
import contextlib
import gzip
Expand Down Expand Up @@ -98,6 +97,9 @@ def __init__(self, payload, user, token):
self.token = token
self._labels = None
self._diff = None
if "issue" in payload and "pull_request" in payload["issue"]:
self.diff_url = payload["issue"]["pull_request"]["diff_url"]
self.pull_url = payload["issue"]["pull_request"]["url"]
if "pull_request" in payload:
self.diff_url = payload["pull_request"]["diff_url"]
self.pull_url = payload["pull_request"]["url"]
Expand Down Expand Up @@ -209,13 +211,16 @@ def get_labels(self):
pass
else:
raise e
self._labels = map(lambda x: x["name"], json.loads(result['body']))
self._labels = list(map(
lambda x: x["name"],
json.loads(result['body'])
))
return self._labels

def get_diff(self):
if self._diff:
return self._diff
self._diff = self.api_req("GET", self.diff_url)['body']
self._diff = self.api_req("GET", self.diff_url)['body'].decode('utf-8')
return self._diff

def set_assignee(self, assignee):
Expand Down Expand Up @@ -246,8 +251,7 @@ def get_page_content(self, url):


def extract_globals_from_payload(payload):
action = payload["action"]
if action == "created" or action == "labeled" or 'issue' in payload:
if "issue" in payload:
owner = payload['repository']['owner']['login']
repo = payload['repository']['name']
issue = str(payload['issue']['number'])
Expand All @@ -273,8 +277,6 @@ def handle_payload(api, payload, handlers=None):
print("Content-Type: text/html;charset=utf-8")
print()

cgitb.enable()

config = RawConfigParser()
config.read('./config')
user = config.get('github', 'user')
Expand Down
6 changes: 3 additions & 3 deletions test.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

class TestAPIProvider(APIProvider):
def __init__(self, payload, user, new_contributor, labels, assignee,
diff="", pull_request=""):
diff=b"", pull_request=""):
super(TestAPIProvider, self).__init__(payload, user)
self.new_contributor = new_contributor
self.comments_posted = []
Expand All @@ -39,7 +39,7 @@ def get_labels(self):
return self.labels

def get_diff(self):
return self.diff
return self.diff.decode('utf-8')

def get_pull(self):
return self.pull_request
Expand All @@ -57,7 +57,7 @@ def create_test(filename, initial, expected,
initial_values = {
'new_contributor': initial.get('new_contributor', False),
'labels': initial.get('labels', []),
'diff': initial.get('diff', ''),
'diff': initial.get('diff', '').encode('utf-8'),
'pull_request': initial.get('pull_request', ''),
'assignee': initial.get('assignee', None),
}
Expand Down
Loading