mirror of
https://github.com/ditkrg/todo-to-issue-action.git
synced 2026-01-22 22:06:43 +00:00
Some parts of the code were using case-insensitive matches when searching for an identifier (i.e. TODO and todo would both be acceptable) whereas other parts of the code would search for a strict case-sensitive match (only TODO, not todo). This inconsistency led to many issues, among them - #216 - #224 - #225 Further, the identifier match wasn't being done using word breaks, meaning an identifier of "FIX" would match (case-insensitively) with "suffix" or "prefix" if those words happened to appear in a comment. (See #234). Issue #230 was also preventing issue labels from being applied properly if the identifier case did not match exactly the canonical version. i.e. "todo" would generate an issue, but the associated labels wouldn't be applied because the exact identifier used wasn't "TODO". This commit resolves all of these issues.
29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
class Issue(object):
|
|
"""Basic Issue model for collecting the necessary info to send to GitHub."""
|
|
|
|
def __init__(self, title, labels, assignees, milestone, body, hunk, file_name,
|
|
start_line, num_lines, markdown_language, status, identifier, identifier_actual, ref, issue_url, issue_number, start_line_within_hunk=1):
|
|
self.title = title
|
|
self.labels = labels
|
|
self.assignees = assignees
|
|
self.milestone = milestone
|
|
self.body = body
|
|
self.hunk = hunk
|
|
self.file_name = file_name
|
|
self.start_line = start_line
|
|
self.num_lines = num_lines
|
|
self.markdown_language = markdown_language
|
|
self.status = status
|
|
self.identifier = identifier
|
|
self.identifier_actual = identifier_actual
|
|
self.ref = ref
|
|
self.issue_url = issue_url
|
|
self.issue_number = issue_number
|
|
self.start_line_within_hunk = start_line_within_hunk
|
|
|
|
def __str__(self):
|
|
selflist = []
|
|
for key in [x for x in vars(self).keys() if x not in ("hunk")]:
|
|
selflist.append(f'"{key}": "{getattr(self, key)}"')
|
|
selflist.append((f'"hunk": "{self.hunk}"'))
|
|
return '\n'.join(selflist) |