|
13 | 13 |
|
14 | 14 | class CompareCommand(PrimerCommand):
|
15 | 15 | def run(self) -> None:
|
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) |
| 16 | + main_messages = self._load_json(self.config.base_file) |
| 17 | + pr_messages = self._load_json(self.config.new_file) |
| 18 | + missing_messages, new_messages = self._cross_reference( |
| 19 | + main_messages, pr_messages |
| 20 | + ) |
| 21 | + comment = self._create_comment(missing_messages, new_messages) |
20 | 22 | with open(self.primer_directory / "comment.txt", "w", encoding="utf-8") as f:
|
21 | 23 | f.write(comment)
|
22 | 24 |
|
| 25 | + @staticmethod |
23 | 26 | def _cross_reference(
|
24 |
| - self, main_dict: PackageMessages, new_dict: PackageMessages |
25 |
| - ) -> PackageMessages: |
26 |
| - final_main_dict: PackageMessages = {} |
| 27 | + main_dict: PackageMessages, pr_messages: PackageMessages |
| 28 | + ) -> tuple[PackageMessages, PackageMessages]: |
| 29 | + missing_messages: PackageMessages = {} |
27 | 30 | for package, messages in main_dict.items():
|
28 |
| - final_main_dict[package] = [] |
| 31 | + missing_messages[package] = [] |
29 | 32 | for message in messages:
|
30 | 33 | try:
|
31 |
| - new_dict[package].remove(message) |
| 34 | + pr_messages[package].remove(message) |
32 | 35 | except ValueError:
|
33 |
| - final_main_dict[package].append(message) |
34 |
| - return final_main_dict |
| 36 | + missing_messages[package].append(message) |
| 37 | + return missing_messages, pr_messages |
35 | 38 |
|
36 |
| - def _load_json(self, file_path: Path | str) -> PackageMessages: |
| 39 | + @staticmethod |
| 40 | + def _load_json(file_path: Path | str) -> PackageMessages: |
37 | 41 | with open(file_path, encoding="utf-8") as f:
|
38 | 42 | result: PackageMessages = json.load(f)
|
39 | 43 | return result
|
|
0 commit comments