Skip to content

Commit 96baa6a

Browse files
#105 - Fix problem in output of pylint (#125)
- Implemented several fixed of pylint warnings.
1 parent d1b2cdb commit 96baa6a

File tree

3 files changed

+28
-69
lines changed

3 files changed

+28
-69
lines changed

release_notes_generator/model/record.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525

2626
from github.Issue import Issue
2727
from github.PullRequest import PullRequest
28-
from github.Repository import Repository
2928
from github.Commit import Commit
3029

3130
from release_notes_generator.action_inputs import ActionInputs
@@ -40,15 +39,13 @@
4039
logger = logging.getLogger(__name__)
4140

4241

43-
# TODO - recheck the size of class, is there a way to reduce or split it?
4442
# pylint: disable=too-many-instance-attributes, too-many-public-methods
4543
class Record:
4644
"""
4745
A class used to represent a record in the release notes.
4846
"""
4947

50-
def __init__(self, repo: Repository, issue: Optional[Issue] = None, skip: bool = False):
51-
self.__repo: Repository = repo
48+
def __init__(self, issue: Optional[Issue] = None, skip: bool = False):
5249
self.__gh_issue: Issue = issue
5350
self.__pulls: list[PullRequest] = []
5451
self.__pull_commits: dict = {}
@@ -133,14 +130,17 @@ def labels(self) -> list[str]:
133130

134131
return [label.name for label in self.__gh_issue.labels]
135132

136-
def get_rls_notes(self, detection_pattern: str, line_marks: str = RELEASE_NOTE_LINE_MARKS) -> str:
133+
def get_rls_notes(self, detection_pattern: str, line_marks: str = None) -> str:
137134
"""
138135
Gets the release notes of the record.
139136
140137
@param detection_pattern: The detection pattern (regex allowed) to use.
141138
@param line_marks: The line marks to use.
142139
@return: The release notes of the record as a string.
143140
"""
141+
if line_marks is None:
142+
line_marks = RELEASE_NOTE_LINE_MARKS
143+
144144
release_notes = ""
145145

146146
# Compile the regex pattern for efficiency

release_notes_generator/record/record_factory.py

+7-8
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
logger = logging.getLogger(__name__)
3737

3838

39-
# pylint: disable=too-few-public-methods
39+
# pylint: disable=too-few-public-methods, too-many-locals
4040
class RecordFactory:
4141
"""
4242
A class used to generate records for release notes.
@@ -59,18 +59,17 @@ def generate(
5959
records = {}
6060
pull_numbers = [pull.number for pull in pulls]
6161

62-
def create_record_for_issue(r: Repository, i: Issue) -> None:
62+
def create_record_for_issue(i: Issue) -> None:
6363
"""
6464
Create a record for an issue.
6565
66-
@param r: Repository instance.
6766
@param i: Issue instance.
6867
@return: None
6968
"""
7069
# check for skip labels presence and skip when detected
7170
issue_labels = [label.name for label in i.labels]
7271
skip_record = any(item in issue_labels for item in ActionInputs.get_skip_release_notes_labels())
73-
records[i.number] = Record(r, i, skip=skip_record)
72+
records[i.number] = Record(i, skip=skip_record)
7473

7574
logger.debug("Created record for issue %d: %s", i.number, i.title)
7675

@@ -85,13 +84,13 @@ def register_pull_request(pull: PullRequest, skip_record: bool) -> None:
8584
)
8685
parent_issue = safe_call(repo.get_issue)(parent_issue_number)
8786
if parent_issue is not None:
88-
create_record_for_issue(repo, parent_issue)
87+
create_record_for_issue(parent_issue)
8988

9089
if parent_issue_number in records:
9190
records[parent_issue_number].register_pull_request(pull)
9291
logger.debug("Registering PR %d: %s to Issue %d", pull.number, pull.title, parent_issue_number)
9392
else:
94-
records[pull.number] = Record(repo, skip=skip_record)
93+
records[pull.number] = Record(skip=skip_record)
9594
records[pull.number].register_pull_request(pull)
9695
logger.debug(
9796
"Registering stand-alone PR %d: %s as mentioned Issue %d not found.",
@@ -118,14 +117,14 @@ def register_commit_to_record(commit: Commit) -> bool:
118117

119118
for issue in issues:
120119
if issue.number not in pull_numbers:
121-
create_record_for_issue(repo, issue)
120+
create_record_for_issue(issue)
122121

123122
for pull in pulls:
124123
pull_labels = [label.name for label in pull.labels]
125124
skip_record: bool = any(item in pull_labels for item in ActionInputs.get_skip_release_notes_labels())
126125

127126
if not extract_issue_numbers_from_body(pull):
128-
records[pull.number] = Record(repo, skip=skip_record)
127+
records[pull.number] = Record(skip=skip_record)
129128
records[pull.number].register_pull_request(pull)
130129
logger.debug("Created record for PR %d: %s", pull.number, pull.title)
131130
else:

tests/conftest.py

+16-56
Original file line numberDiff line numberDiff line change
@@ -378,97 +378,68 @@ def mock_commit(mocker):
378378
# Fixtures for Record(s)
379379
@pytest.fixture
380380
def record_with_issue_open_no_pull(request):
381-
mock_repo_fixture = request.getfixturevalue("mock_repo")
382-
return Record(repo=mock_repo_fixture, issue=request.getfixturevalue("mock_issue_open"))
381+
return Record(issue=request.getfixturevalue("mock_issue_open"))
383382

384383

385384
@pytest.fixture
386385
def record_with_issue_closed_no_pull(request):
387-
rec = Record(
388-
repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")),
389-
issue=request.getfixturevalue("mock_issue_closed"),
390-
)
391-
mock_repo_fixture.full_name = "org/repo"
392-
return rec
386+
return Record(issue=request.getfixturevalue("mock_issue_closed"))
393387

394388

395389
@pytest.fixture
396390
def record_with_issue_closed_one_pull(request):
397-
rec = Record(
398-
repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")),
399-
issue=request.getfixturevalue("mock_issue_closed"),
400-
)
391+
rec = Record(issue=request.getfixturevalue("mock_issue_closed"))
401392
rec.register_pull_request(request.getfixturevalue("mock_pull_closed"))
402-
mock_repo_fixture.full_name = "org/repo"
403393
return rec
404394

405395

406396
@pytest.fixture
407397
def record_with_issue_closed_one_pull_merged(request):
408-
rec = Record(
409-
repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")),
410-
issue=request.getfixturevalue("mock_issue_closed_i1_bug"),
411-
)
398+
rec = Record(issue=request.getfixturevalue("mock_issue_closed_i1_bug"))
412399
rec.register_pull_request(request.getfixturevalue("mock_pull_merged"))
413-
mock_repo_fixture.full_name = "org/repo"
414400
return rec
415401

416402

417403
@pytest.fixture
418404
def record_with_issue_closed_one_pull_merged_skip(request):
419405
rec = Record(
420-
repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")),
421406
issue=request.getfixturevalue("mock_issue_closed_i1_bug_and_skip"),
422407
skip=True,
423408
)
424409
rec.register_pull_request(request.getfixturevalue("mock_pull_merged"))
425-
mock_repo_fixture.full_name = "org/repo"
426410
return rec
427411

428412

429413
@pytest.fixture
430414
def record_with_issue_closed_two_pulls(request):
431-
rec = Record(
432-
repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")),
433-
issue=request.getfixturevalue("mock_issue_closed_i1_bug"),
434-
)
415+
rec = Record(issue=request.getfixturevalue("mock_issue_closed_i1_bug"))
435416
rec.register_pull_request(request.getfixturevalue("mock_pull_closed_with_rls_notes_101"))
436417
rec.register_pull_request(request.getfixturevalue("mock_pull_closed_with_rls_notes_102"))
437-
mock_repo_fixture.full_name = "org/repo"
438418
return rec
439419

440420

441421
@pytest.fixture
442422
def record_with_issue_open_one_pull_closed(request):
443-
rec = Record(
444-
repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")),
445-
issue=request.getfixturevalue("mock_issue_open"),
446-
)
423+
rec = Record(issue=request.getfixturevalue("mock_issue_open"))
447424
rec.register_pull_request(request.getfixturevalue("mock_pull_closed"))
448-
mock_repo_fixture.full_name = "org/repo"
449425
return rec
450426

451427

452428
@pytest.fixture
453429
def record_with_issue_open_two_pulls_closed(request):
454-
rec = Record(
455-
repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")),
456-
issue=request.getfixturevalue("mock_issue_open"),
457-
)
430+
rec = Record(issue=request.getfixturevalue("mock_issue_open"))
458431
rec.register_pull_request(request.getfixturevalue("mock_pull_closed_with_rls_notes_101"))
459432
rec.register_pull_request(request.getfixturevalue("mock_pull_closed_with_rls_notes_102"))
460-
mock_repo_fixture.full_name = "org/repo"
461433
return rec
462434

463435

464436
@pytest.fixture
465437
def record_with_two_issue_open_two_pulls_closed(request):
466-
rec1 = Record(repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")))
438+
rec1 = Record()
467439
rec1.register_pull_request(request.getfixturevalue("mock_pull_merged_with_rls_notes_101"))
468440

469-
rec2 = Record(repo=mock_repo_fixture)
441+
rec2 = Record()
470442
rec2.register_pull_request(request.getfixturevalue("mock_pull_merged_with_rls_notes_102"))
471-
mock_repo_fixture.full_name = "org/repo"
472443

473444
records = {}
474445
records[rec1.number] = rec1
@@ -479,38 +450,31 @@ def record_with_two_issue_open_two_pulls_closed(request):
479450

480451
@pytest.fixture
481452
def record_with_issue_closed_one_pull_no_rls_notes(request):
482-
rec = Record(
483-
repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")),
484-
issue=request.getfixturevalue("mock_issue_closed"),
485-
)
453+
rec = Record(issue=request.getfixturevalue("mock_issue_closed"))
486454
rec.register_pull_request(mock_pull_closed_fixture := request.getfixturevalue("mock_pull_no_rls_notes"))
487455
mock_pull_closed_fixture.body = "Fixed bug"
488-
mock_repo_fixture.full_name = "org/repo"
489456
return rec
490457

491458

492459
@pytest.fixture
493460
def record_with_no_issue_one_pull_merged(request):
494-
record = Record(repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")))
495-
mock_repo_fixture.full_name = "org/repo"
461+
record = Record()
496462
record.register_pull_request(request.getfixturevalue("mock_pull_merged"))
497463
record.register_commit(request.getfixturevalue("mock_commit"))
498464
return record
499465

500466

501467
@pytest.fixture
502468
def record_with_no_issue_one_pull_open(request):
503-
record = Record(repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")))
504-
mock_repo_fixture.full_name = "org/repo"
469+
record = Record()
505470
record.register_pull_request(request.getfixturevalue("mock_pull_open"))
506471
record.register_commit(request.getfixturevalue("mock_commit"))
507472
return record
508473

509474

510475
@pytest.fixture
511476
def record_with_no_issue_one_pull_merged_with_issue_mentioned(request):
512-
record = Record(repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")))
513-
mock_repo_fixture.full_name = "org/repo"
477+
record = Record()
514478
mock_pull_merged_fixture = request.getfixturevalue("mock_pull_merged")
515479
mock_pull_merged_fixture.body = "Release Notes:\n- Fixed bug\n- Improved performance\n\nFixes #123"
516480
record.register_pull_request(mock_pull_merged_fixture)
@@ -520,27 +484,23 @@ def record_with_no_issue_one_pull_merged_with_issue_mentioned(request):
520484

521485
@pytest.fixture
522486
def record_with_no_issue_one_pull_closed(request):
523-
record = Record(repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")))
524-
mock_repo_fixture.full_name = "org/repo"
525-
mock_repo_fixture.draft = False
487+
record = Record()
526488
record.register_pull_request(request.getfixturevalue("mock_pull_closed"))
527489
record.register_commit(request.getfixturevalue("mock_commit"))
528490
return record
529491

530492

531493
@pytest.fixture
532494
def record_with_no_issue_one_pull_closed_with_skip_label(request):
533-
record = Record(repo=(mock_repo_fixture := request.getfixturevalue("mock_repo")), skip=True)
534-
mock_repo_fixture.full_name = "org/repo"
535-
mock_repo_fixture.draft = False
495+
record = Record(skip=True)
536496
record.register_pull_request(request.getfixturevalue("mock_pull_closed_with_skip_label"))
537497
record.register_commit(request.getfixturevalue("mock_commit"))
538498
return record
539499

540500

541501
@pytest.fixture
542502
def record_with_no_issue_one_pull_closed_no_rls_notes(request):
543-
record = Record(repo=request.getfixturevalue("mock_repo"))
503+
record = Record()
544504
record.register_pull_request(request.getfixturevalue("mock_pull_no_rls_notes"))
545505
return record
546506

0 commit comments

Comments
 (0)