in migration/src/jira_util.py [0:0]
def embed_gh_issue_link(text: str, issue_id_map: dict[str, int], gh_number_self: int) -> str:
"""Embed GitHub issue number
"""
def repl_simple(m: re.Match):
res = m.group(0)
gh_number = issue_id_map.get(m.group(2))
if gh_number and gh_number != gh_number_self:
res = f"{m.group(1)}#{gh_number}{m.group(3)}"
return res
def repl_paren(m: re.Match):
res = m.group(0)
gh_number = issue_id_map.get(m.group(2))
if gh_number and gh_number != gh_number_self:
res = f"{m.group(1)}#{gh_number}{m.group(3)}"
return res
def repl_bracket(m: re.Match):
res = m.group(0)
gh_number = issue_id_map.get(m.group(2))
if gh_number and gh_number != gh_number_self:
res = f"#{gh_number}"
return res
def repl_md_link(m: re.Match):
res = m.group(0)
gh_number = issue_id_map.get(m.group(1))
if gh_number and gh_number != gh_number_self:
res = f"#{gh_number}"
# print(res)
return res
text = re.sub(r"(\s)(LUCENE-\d+)([\s,;:\?\!\.])", repl_simple, text)
text = re.sub(r"(^)(LUCENE-\d+)([\s,;:\?\!\.])", repl_simple, text)
text = re.sub(r"(\s)https?://issues\.apache\.org/.+/(LUCENE-\d+)([\s,;:\!\.])", repl_simple, text)
text = re.sub(r"(^)https?://issues\.apache\.org/.+/(LUCENE-\d+)([\s,;:\!\.])", repl_simple, text)
text = re.sub(r"(\()(LUCENE-\d+)(\))", repl_paren, text)
text = re.sub(r"(\[)(LUCENE-\d+)(\])(?!\()", repl_bracket, text)
text = re.sub(r"\[(LUCENE-\d+)\]\(https?[^\)]+LUCENE-\d+\)", repl_md_link, text)
return text