Skip to content

Commit dfb0d1f

Browse files
authored
Remove BPO link and strip newlines from commit body (#314)
Fixes #162
1 parent 3256da5 commit dfb0d1f

File tree

3 files changed

+39
-2
lines changed

3 files changed

+39
-2
lines changed

miss_islington/status_change.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
router = routing.Router()
1010

1111
TITLE_RE = re.compile(r"\[(?P<branch>\d+\.\d+)\].+?(?P<pr>\d+)\)")
12+
AUTOMERGE_TRAILER = "Automerge-Triggered-By"
1213

1314

1415
@router.register("status")
@@ -144,6 +145,5 @@ async def merge_pr(gh, pr, sha, is_automerge=False):
144145

145146

146147
async def add_automerged_by(gh, pr_data, username):
147-
148-
new_pr_body = f"{pr_data['body']}\n\nAutomerge-Triggered-By: @{username}"
148+
new_pr_body = f"{pr_data['body']}\n\n{AUTOMERGE_TRAILER}: @{username}"
149149
await gh.patch(pr_data["url"], data={"body": new_pr_body})

miss_islington/util.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
import re
12
import subprocess
23

34
import gidgethub
45

6+
from .status_change import AUTOMERGE_TRAILER
7+
58

69
AUTOMERGE_LABEL = ":robot: automerge"
710

@@ -92,6 +95,13 @@ def normalize_message(body):
9295
"""
9396
while "<!--" in body:
9497
body = body[: body.index("<!--")] + body[body.index("-->") + 3 :]
98+
# Delete BPO link added by Bedevere.
99+
body = re.sub(r"https://bugs.python.org/issue(\d+)", "", body)
100+
# Strip additional newlines between commit body and automerge label.
101+
body_parts = body.split(AUTOMERGE_TRAILER)
102+
if len(body_parts) > 1:
103+
body, automerge_user = body_parts
104+
body = f"{body.strip()}\n\n{AUTOMERGE_TRAILER}{automerge_user}"
95105
return "\n\n" + body.strip()
96106

97107

tests/test_util.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import http
2+
import textwrap
3+
24
import pytest
35
import gidgethub
46

@@ -82,6 +84,31 @@ def test_message_normalization():
8284
message = "\r\nParts <!--comment--> we want\r\nincluded"
8385
assert util.normalize_message(message) == "\n\nParts we want\r\nincluded"
8486

87+
message = textwrap.dedent("""
88+
The truncate() method of io.BufferedReader() should raise
89+
UnsupportedOperation when it is called on a read-only
90+
io.BufferedReader() instance.
91+
92+
93+
94+
95+
96+
https://bugs.python.org/issue35950
97+
98+
99+
100+
Automerge-Triggered-By: @methane
101+
""")
102+
103+
expected_message = textwrap.dedent("""
104+
105+
The truncate() method of io.BufferedReader() should raise
106+
UnsupportedOperation when it is called on a read-only
107+
io.BufferedReader() instance.
108+
109+
Automerge-Triggered-By: @methane""")
110+
assert util.normalize_message(message) == expected_message
111+
85112

86113
async def test_get_gh_participants_different_creator_and_committer():
87114
gh = FakeGH(

0 commit comments

Comments
 (0)