|
29 | 29 | HTML_DEP_CSV = str(HTML_DEP_PATH_PATHLIB / "dependencies.csv") |
30 | 30 |
|
31 | 31 |
|
32 | | -def get_out_of_sync_packages(csv_name: str, txt_name: str) -> tuple[set[str], set[str]]: |
33 | | - new_packages: set[str] = set() |
34 | | - removed_packages: set[str] = set() |
| 32 | +def get_packages_from_csv(csv_name: str) -> set[str]: |
35 | 33 | csv_package_names: set[str] = set() |
36 | | - txt_package_names: set[str] = set() |
37 | | - |
38 | | - with open(csv_name) as csv_file, open(txt_name) as txt_file: |
| 34 | + with open(csv_name) as csv_file: |
39 | 35 | csv_reader = csv.reader(csv_file) |
40 | 36 | next(csv_reader) |
41 | 37 | for _, product in csv_reader: |
42 | 38 | csv_package_names.add(product) |
| 39 | + return csv_package_names |
| 40 | + |
| 41 | + |
| 42 | +def get_packages_from_txt(txt_name: str) -> set[str]: |
| 43 | + txt_package_names: set[str] = set() |
| 44 | + with open(txt_name) as txt_file: |
43 | 45 | lines = txt_file.readlines() |
44 | | - for line in lines: |
45 | | - txt_package_names.add(re.split(">|<|\\[|;|=|\n", line)[0]) |
46 | | - new_packages = txt_package_names - csv_package_names |
47 | | - removed_packages = csv_package_names - txt_package_names |
| 46 | + for line in lines: |
| 47 | + txt_package_names.add(re.split(">|<|\\[|;|=|\n", line)[0]) |
| 48 | + return txt_package_names |
| 49 | + |
48 | 50 |
|
| 51 | +def get_out_of_sync_packages( |
| 52 | + csv_packages: set[str], dependency_packages: set[str] |
| 53 | +) -> tuple[set[str], set[str]]: |
| 54 | + new_packages = dependency_packages - csv_packages |
| 55 | + removed_packages = csv_packages - dependency_packages |
49 | 56 | return new_packages, removed_packages |
50 | 57 |
|
51 | 58 |
|
52 | 59 | # Test to check if the requirements.csv files are in sync with requirements.txt files |
53 | 60 | def test_txt_csv_sync() -> None: |
54 | 61 | errors: set[str] = set() |
55 | 62 |
|
56 | | - ( |
57 | | - req_new_packages, |
58 | | - req_removed_packages, |
59 | | - ) = get_out_of_sync_packages(REQ_CSV, REQ_TXT) |
| 63 | + csv_packages = get_packages_from_csv(REQ_CSV) |
| 64 | + dependency_packages = get_packages_from_txt(REQ_TXT) |
| 65 | + req_new_packages, req_removed_packages = get_out_of_sync_packages( |
| 66 | + csv_packages, dependency_packages |
| 67 | + ) |
| 68 | + doc_csv_packages = get_packages_from_csv(DOC_CSV) |
| 69 | + doc_dependency_packages = get_packages_from_txt(DOC_TXT) |
60 | 70 | ( |
61 | 71 | doc_new_packages, |
62 | 72 | doc_removed_packages, |
63 | | - ) = get_out_of_sync_packages(DOC_CSV, DOC_TXT) |
| 73 | + ) = get_out_of_sync_packages(doc_csv_packages, doc_dependency_packages) |
64 | 74 |
|
65 | 75 | if doc_removed_packages != set(): |
66 | 76 | errors.add( |
|
0 commit comments