Skip to content

Commit 69ce1ce

Browse files
[refactor] Add two function in primer compare comment
1 parent a6aa571 commit 69ce1ce

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

pylint/testutils/_primer/primer_compare_command.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from __future__ import annotations
55

66
import json
7+
from pathlib import Path
78

89
from pylint.testutils._primer.primer_command import PackageMessages, PrimerCommand
910

@@ -12,11 +13,16 @@
1213

1314
class CompareCommand(PrimerCommand):
1415
def run(self) -> None:
15-
with open(self.config.base_file, encoding="utf-8") as f:
16-
main_dict: PackageMessages = json.load(f)
17-
with open(self.config.new_file, encoding="utf-8") as f:
18-
new_dict: PackageMessages = json.load(f)
16+
main_dict = self._load_json(self.config.base_file)
17+
new_dict = self._load_json(self.config.new_file)
18+
final_main_dict = self._cross_reference(main_dict, new_dict)
19+
comment = self._create_comment(final_main_dict, new_dict)
20+
with open(self.primer_directory / "comment.txt", "w", encoding="utf-8") as f:
21+
f.write(comment)
1922

23+
def _cross_reference(
24+
self, main_dict: PackageMessages, new_dict: PackageMessages
25+
) -> PackageMessages:
2026
final_main_dict: PackageMessages = {}
2127
for package, messages in main_dict.items():
2228
final_main_dict[package] = []
@@ -25,10 +31,12 @@ def run(self) -> None:
2531
new_dict[package].remove(message)
2632
except ValueError:
2733
final_main_dict[package].append(message)
34+
return final_main_dict
2835

29-
comment = self._create_comment(final_main_dict, new_dict)
30-
with open(self.primer_directory / "comment.txt", "w", encoding="utf-8") as f:
31-
f.write(comment)
36+
def _load_json(self, file_path: Path | str) -> PackageMessages:
37+
with open(file_path, encoding="utf-8") as f:
38+
result: PackageMessages = json.load(f)
39+
return result
3240

3341
def _create_comment(
3442
self, all_missing_messages: PackageMessages, all_new_messages: PackageMessages

0 commit comments

Comments
 (0)