diff --git a/src/pip_deepfreeze/req_merge.py b/src/pip_deepfreeze/req_merge.py index 453ae00..27be97e 100644 --- a/src/pip_deepfreeze/req_merge.py +++ b/src/pip_deepfreeze/req_merge.py @@ -11,7 +11,7 @@ def prepare_frozen_reqs_for_upgrade( frozen_filenames: Iterable[Path], - in_filename: Path, + constraints_path: Path, upgrade_all: bool = False, to_upgrade: Optional[Iterable[str]] = None, ) -> Iterator[str]: @@ -23,12 +23,12 @@ def prepare_frozen_reqs_for_upgrade( not in frozen requirements are added. """ to_upgrade_set = {canonicalize_name(r) for r in to_upgrade or []} - in_reqs = [] + constraints_reqs = [] frozen_reqs = set() - # 1. emit options from in_filename, collect in_reqs - if in_filename.is_file(): + # 1. emit options from constraints_path, collect in_reqs + if constraints_path.is_file(): for in_req in parse( - str(in_filename), + str(constraints_path), recurse=True, reqs_only=False, strict=True, @@ -41,7 +41,7 @@ def prepare_frozen_reqs_for_upgrade( if not req_name: log_error(f"Ignoring unnamed constraint {in_req.raw_line!r}.") continue - in_reqs.append((req_name, in_req)) + constraints_reqs.append((req_name, in_req)) # 2. emit frozen_reqs unless upgrade_all or it is in to_upgrade for frozen_filename in frozen_filenames: if frozen_filename.is_file() and not upgrade_all: @@ -60,6 +60,6 @@ def prepare_frozen_reqs_for_upgrade( frozen_reqs.add(req_name) yield frozen_req.raw_line # 3. emit in_reqs that have not been emitted as frozen reqs - for req_name, in_req in in_reqs: + for req_name, in_req in constraints_reqs: if req_name not in frozen_reqs: yield in_req.raw_line diff --git a/src/pip_deepfreeze/sync.py b/src/pip_deepfreeze/sync.py index def158e..769d5b0 100644 --- a/src/pip_deepfreeze/sync.py +++ b/src/pip_deepfreeze/sync.py @@ -48,7 +48,7 @@ def sync( ) -> None: project_name = get_project_name(python, project_root) project_name_with_extras = make_project_name_with_extras(project_name, extras) - requirements_in = project_root / "requirements.txt.in" + constraints_path = project_root / "requirements.txt.in" # upgrade project and its dependencies, if needed merged_constraints_path = get_temp_path_in_dir( dir=project_root, prefix="requirements.", suffix=".txt.df" @@ -56,7 +56,7 @@ def sync( with merged_constraints_path.open(mode="w", encoding="utf-8") as constraints: for req_line in prepare_frozen_reqs_for_upgrade( make_requirements_paths(project_root, extras), - requirements_in, + constraints_path, upgrade_all, to_upgrade, ): @@ -77,10 +77,10 @@ def sync( with open_with_rollback(requirements_frozen_path) as f: print("# frozen requirements generated by pip-deepfreeze", file=f) # output pip options in main requirements only - if not extra and requirements_in.exists(): + if not extra and constraints_path.exists(): # XXX can we avoid this second parse of requirements.txt.in? for parsed_req_line in parse_req_file( - str(requirements_in), + str(constraints_path), reqs_only=False, recurse=True, strict=True, diff --git a/tests/test_req_merge.py b/tests/test_req_merge.py index 49be344..7aae359 100644 --- a/tests/test_req_merge.py +++ b/tests/test_req_merge.py @@ -45,14 +45,14 @@ ], ) def test_merge(in_reqs, frozen_reqs, upgrade_all, to_upgrade, expected, tmp_path): - in_filename = tmp_path / "requirements.txt.in" - in_filename.write_text("\n".join(in_reqs)) + constraints_filename = tmp_path / "requirements.txt.in" + constraints_filename.write_text("\n".join(in_reqs)) frozen_filename = tmp_path / "requirements.txt" frozen_filename.write_text("\n".join(frozen_reqs)) assert ( set( prepare_frozen_reqs_for_upgrade( - [frozen_filename], in_filename, upgrade_all, to_upgrade + [frozen_filename], constraints_filename, upgrade_all, to_upgrade ) ) == expected @@ -60,47 +60,53 @@ def test_merge(in_reqs, frozen_reqs, upgrade_all, to_upgrade, expected, tmp_path def test_merge_missing_in(tmp_path): - in_filename = tmp_path / "requirements.txt.in" + constraints_filename = tmp_path / "requirements.txt.in" frozen_filename = tmp_path / "requirements.txt" frozen_filename.write_text("pkga==1.0.0") - assert set(prepare_frozen_reqs_for_upgrade([frozen_filename], in_filename)) == { - "pkga==1.0.0" - } + assert set( + prepare_frozen_reqs_for_upgrade([frozen_filename], constraints_filename) + ) == {"pkga==1.0.0"} def test_merge_missing_frozen(tmp_path): - in_filename = tmp_path / "requirements.txt.in" - in_filename.write_text("pkga") + constraints_filename = tmp_path / "requirements.txt.in" + constraints_filename.write_text("pkga") frozen_filename = tmp_path / "requirements.txt" - assert set(prepare_frozen_reqs_for_upgrade([frozen_filename], in_filename)) == { - "pkga" - } + assert set( + prepare_frozen_reqs_for_upgrade([frozen_filename], constraints_filename) + ) == {"pkga"} def test_req_merge_unnamed_in(tmp_path, capsys): - in_filename = tmp_path / "requirements.txt.in" - in_filename.write_text("-e .") + constraints_filename = tmp_path / "requirements.txt.in" + constraints_filename.write_text("-e .") frozen_filename = tmp_path / "requirements.txt" - assert set(prepare_frozen_reqs_for_upgrade([frozen_filename], in_filename)) == set() + assert ( + set(prepare_frozen_reqs_for_upgrade([frozen_filename], constraints_filename)) + == set() + ) captured = capsys.readouterr() assert "Ignoring unnamed constraint '-e .'" in captured.err def test_req_merge_unnamed_frozen(tmp_path, capsys): - in_filename = tmp_path / "requirements.txt.in" + constraints_filename = tmp_path / "requirements.txt.in" frozen_filename = tmp_path / "requirements.txt" frozen_filename.write_text("-e .") - assert set(prepare_frozen_reqs_for_upgrade([frozen_filename], in_filename)) == set() + assert ( + set(prepare_frozen_reqs_for_upgrade([frozen_filename], constraints_filename)) + == set() + ) captured = capsys.readouterr() assert "Ignoring unnamed frozen requirement '-e .'" in captured.err def test_req_merge_named_editable(tmp_path): - in_filename = tmp_path / "requirements.txt.in" - in_filename.write_text( + constraints_filename = tmp_path / "requirements.txt.in" + constraints_filename.write_text( "-e git+https://github.com/pypa/pip-test-package#egg=pip-test-package" ) frozen_filename = tmp_path / "requirements.txt" - assert set(prepare_frozen_reqs_for_upgrade([frozen_filename], in_filename)) == set( - ["-e git+https://github.com/pypa/pip-test-package#egg=pip-test-package"] - ) + assert set( + prepare_frozen_reqs_for_upgrade([frozen_filename], constraints_filename) + ) == set(["-e git+https://github.com/pypa/pip-test-package#egg=pip-test-package"])