Skip to content

Commit 7c61612

Browse files
committed
Fixup
1 parent 4aea0a3 commit 7c61612

4 files changed

Lines changed: 56 additions & 30 deletions

File tree

dfetch/manifest/manifest.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -378,9 +378,7 @@ def find_name_in_manifest(self, name: str) -> ManifestEntryLocation:
378378
if not self.__text:
379379
raise FileNotFoundError("No manifest text available")
380380

381-
matches = self._doc.get(
382-
f'$.manifest.projects[?(@.name == "{name}")].name'
383-
)
381+
matches = self._doc.get(f'$.manifest.projects[?(@.name == "{name}")].name')
384382
if not matches:
385383
raise RuntimeError(f"{name} was not found in the manifest!")
386384

@@ -524,4 +522,3 @@ def write_line_break(self, data: Any = None) -> None:
524522
super().write_line_break() # type: ignore[unused-ignore, no-untyped-call]
525523

526524
self._last_additional_break = len(self.indents)
527-

dfetch/util/yaml.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -165,10 +165,7 @@ def set(self, jsonpath: str, field: str, value: str) -> None:
165165
):
166166
continue
167167
target_parts = (
168-
sequence_parts
169-
+ [str(item_idx)]
170-
+ post_filter_parts
171-
+ field.split(".")
168+
sequence_parts + [str(item_idx)] + post_filter_parts + field.split(".")
172169
)
173170
self._set_by_parts(target_parts, value)
174171

@@ -411,8 +408,10 @@ def _add_field(
411408
)
412409

413410
def _block_end(self, from_idx: int, parent_indent: int) -> int:
414-
"""Return the first line index after *from_idx* whose indentation is
415-
no greater than *parent_indent*, skipping blank and comment lines.
411+
"""Return the first line index after *from_idx*.
412+
413+
The indentation is no greater than *parent_indent*, skipping
414+
blank and comment lines.
416415
417416
This bounds child-field searches to the node that was just matched,
418417
preventing a missing field from being found in a sibling node.

tests/test_add.py

Lines changed: 49 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,9 @@ def test_add_command_non_interactive_appends_entry():
176176

177177
fake_superproject.manifest.append_project_entry.assert_called_once()
178178
fake_superproject.manifest.update_dump.assert_called_once()
179-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
179+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
180+
0
181+
]
180182
assert entry.name == "myrepo"
181183
assert entry.branch == "main"
182184

@@ -209,7 +211,9 @@ def test_add_command_non_interactive_field_overrides():
209211

210212
fake_superproject.manifest.append_project_entry.assert_called_once()
211213
fake_superproject.manifest.update_dump.assert_called_once()
212-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
214+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
215+
0
216+
]
213217
assert entry.name == "custom-name"
214218
assert entry.destination == "ext/custom"
215219
assert entry.tag == "v1.0"
@@ -238,7 +242,9 @@ def test_add_command_suffixes_duplicate_name():
238242

239243
fake_superproject.manifest.append_project_entry.assert_called_once()
240244
fake_superproject.manifest.update_dump.assert_called_once()
241-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
245+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
246+
0
247+
]
242248
assert entry.name == "myrepo-1"
243249

244250

@@ -281,7 +287,9 @@ def test_add_command_interactive_branch():
281287

282288
fake_superproject.manifest.append_project_entry.assert_called_once()
283289
fake_superproject.manifest.update_dump.assert_called_once()
284-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
290+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
291+
0
292+
]
285293
assert entry.name == "myrepo"
286294
assert entry.branch == "dev"
287295
assert entry.destination == "libs/myrepo"
@@ -320,7 +328,9 @@ def test_add_command_interactive_branch_by_number():
320328
)
321329

322330
fake_superproject.manifest.update_dump.assert_called_once()
323-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
331+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
332+
0
333+
]
324334
assert entry.branch == "dev"
325335

326336

@@ -358,7 +368,9 @@ def test_add_command_interactive_tag():
358368

359369
fake_superproject.manifest.append_project_entry.assert_called_once()
360370
fake_superproject.manifest.update_dump.assert_called_once()
361-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
371+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
372+
0
373+
]
362374
assert entry.tag == "v2.0"
363375
assert entry.branch == ""
364376

@@ -430,7 +442,9 @@ def test_add_command_interactive_with_src():
430442

431443
fake_superproject.manifest.append_project_entry.assert_called_once()
432444
fake_superproject.manifest.update_dump.assert_called_once()
433-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
445+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
446+
0
447+
]
434448
assert entry.source == "include/"
435449

436450

@@ -468,7 +482,9 @@ def test_add_command_interactive_with_ignore():
468482

469483
fake_superproject.manifest.append_project_entry.assert_called_once()
470484
fake_superproject.manifest.update_dump.assert_called_once()
471-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
485+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
486+
0
487+
]
472488
assert list(entry.ignore) == ["tests", "docs"]
473489

474490

@@ -494,9 +510,7 @@ def test_add_command_interactive_run_update():
494510
side_effect=lambda *a, **kw: next(prompt_answers),
495511
):
496512
with patch("dfetch.commands.add.Confirm.ask", side_effect=[True, True]):
497-
with patch(
498-
"dfetch.commands.update.Update.__call__"
499-
) as mock_update:
513+
with patch("dfetch.commands.update.Update.__call__") as mock_update:
500514
Add()(
501515
_make_args(
502516
"https://github.com/org/myrepo.git",
@@ -549,7 +563,9 @@ def test_add_command_interactive_with_overrides():
549563

550564
fake_superproject.manifest.append_project_entry.assert_called_once()
551565
fake_superproject.manifest.update_dump.assert_called_once()
552-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
566+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
567+
0
568+
]
553569
assert entry.name == "overridden-name"
554570
assert entry.destination == "ext/overridden"
555571
assert entry.branch == "dev"
@@ -591,7 +607,9 @@ def test_add_command_interactive_with_all_overrides():
591607
mock_prompt.assert_not_called()
592608
fake_superproject.manifest.append_project_entry.assert_called_once()
593609
fake_superproject.manifest.update_dump.assert_called_once()
594-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
610+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
611+
0
612+
]
595613
assert entry.name == "mylib"
596614
assert entry.destination == "ext/mylib"
597615
assert entry.tag == "v2.0"
@@ -648,7 +666,9 @@ def test_add_command_interactive_svn_trunk():
648666

649667
fake_superproject.manifest.append_project_entry.assert_called_once()
650668
fake_superproject.manifest.update_dump.assert_called_once()
651-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
669+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
670+
0
671+
]
652672
assert entry.name == "myrepo"
653673
assert entry.branch == "trunk"
654674

@@ -681,7 +701,9 @@ def test_add_command_interactive_svn_custom_branch():
681701
Add()(_make_args(_SVN_URL, interactive=True))
682702

683703
fake_superproject.manifest.update_dump.assert_called_once()
684-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
704+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
705+
0
706+
]
685707
assert entry.branch == "feature-x"
686708

687709

@@ -713,7 +735,9 @@ def test_add_command_interactive_svn_tag():
713735
Add()(_make_args(_SVN_URL, interactive=True))
714736

715737
fake_superproject.manifest.update_dump.assert_called_once()
716-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
738+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
739+
0
740+
]
717741
assert entry.tag == "v2.0"
718742
assert entry.branch == ""
719743

@@ -746,7 +770,9 @@ def test_add_command_interactive_svn_branch_by_number():
746770
Add()(_make_args(_SVN_URL, interactive=True))
747771

748772
fake_superproject.manifest.update_dump.assert_called_once()
749-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
773+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
774+
0
775+
]
750776
assert entry.branch == "feature-x"
751777

752778

@@ -769,7 +795,9 @@ def test_add_command_non_interactive_svn():
769795

770796
fake_superproject.manifest.append_project_entry.assert_called_once()
771797
fake_superproject.manifest.update_dump.assert_called_once()
772-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
798+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
799+
0
800+
]
773801
assert entry.branch == "trunk"
774802

775803

@@ -805,7 +833,9 @@ def test_add_command_matches_existing_remote():
805833

806834
fake_superproject.manifest.append_project_entry.assert_called_once()
807835
fake_superproject.manifest.update_dump.assert_called_once()
808-
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][0]
836+
entry: ProjectEntry = fake_superproject.manifest.append_project_entry.call_args[0][
837+
0
838+
]
809839
yaml_data = entry.as_yaml()
810840
assert yaml_data.get("remote") == "github"
811841
assert "org/myrepo" in yaml_data.get("repo-path", "")

tests/test_yaml.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ def test_set_adds_field_to_first_project_not_found_in_second():
292292

293293
# first project gains a revision
294294
first_end = result.index("- name: second")
295-
first_block = result[: first_end]
295+
first_block = result[:first_end]
296296
assert "revision: deadbeef" in first_block
297297

298298
# second project's revision is untouched

0 commit comments

Comments
 (0)