Skip to content

Commit e5be85f

Browse files
committed
Refactor indentation
1 parent 0755b48 commit e5be85f

2 files changed

Lines changed: 30 additions & 25 deletions

File tree

src/parcels/_core/utils/sgrid.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
Dim = str
2727

2828

29+
def indent_lines(lst: list[str], indent: int = 2):
30+
return [indent * " " + line for line in lst]
31+
32+
2933
class Padding(enum.Enum):
3034
NONE = "none"
3135
LOW = "low"
@@ -340,7 +344,7 @@ def load(cls, s: str) -> Self:
340344
return cls(dim1, dim2, padding)
341345

342346
def to_diagram(self) -> str:
343-
return _face_node_padding_to_text(self)
347+
return "\n".join(_face_node_padding_to_text(self))
344348

345349

346350
def dump_mappings(parts: Iterable[DimDimPadding | Dim]) -> str:
@@ -561,9 +565,9 @@ def _face_node_padding_to_text(obj: DimDimPadding) -> list[str]:
561565
label += str(face_count).center(FACE_WIDTH)
562566

563567
return [
564-
f" {obj.dim1}:{obj.dim2} (padding:{padding.value})",
565-
f" {bar_rendered}",
566-
f" {label.rstrip()}",
568+
f"{obj.dim1}:{obj.dim2} (padding:{padding.value})",
569+
f" {bar_rendered}",
570+
f" {label.rstrip()}",
567571
]
568572

569573

@@ -631,12 +635,12 @@ def _z(base: str, sym: str) -> str:
631635
" · = cell centre",
632636
]
633637
lines += ["", " Axis padding:", ""]
634-
lines += _face_node_padding_to_text(fd[0])
638+
lines += indent_lines(_face_node_padding_to_text(fd[0]))
635639
lines += [""]
636-
lines += _face_node_padding_to_text(fd[1])
640+
lines += indent_lines(_face_node_padding_to_text(fd[1]))
637641
if grid.vertical_dimensions:
638642
lines += [""]
639-
lines += _face_node_padding_to_text(grid.vertical_dimensions[0])
643+
lines += indent_lines(_face_node_padding_to_text(grid.vertical_dimensions[0]))
640644
return "\n".join(lines)
641645

642646

@@ -674,11 +678,11 @@ def _grid3d_to_ascii(grid: Grid3DMetadata) -> str:
674678
" · = cell centre",
675679
]
676680
lines += ["", " Axis padding:", ""]
677-
lines += _face_node_padding_to_text(vd[0])
681+
lines += indent_lines(_face_node_padding_to_text(vd[0]))
678682
lines += [""]
679-
lines += _face_node_padding_to_text(vd[1])
683+
lines += indent_lines(_face_node_padding_to_text(vd[1]))
680684
lines += [""]
681-
lines += _face_node_padding_to_text(vd[2])
685+
lines += indent_lines(_face_node_padding_to_text(vd[2]))
682686
return "\n".join(lines)
683687

684688

tests/utils/test_sgrid.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -521,42 +521,43 @@ def test_grid_str(metadata, expected):
521521

522522

523523
@pytest.mark.parametrize(
524-
("face_node_padding", "expected"),
524+
("face_node_padding", "expected_lines"),
525525
[
526526
(
527527
sgrid.DimDimPadding("face", "node", sgrid.Padding.LOW),
528528
[
529-
" face:node (padding:low)",
530-
" ─────●─────●─────●─────●─────●",
531-
" 1 1 2 2 3 3 4 4 5 5",
529+
"face:node (padding:low)",
530+
" ─────●─────●─────●─────●─────●",
531+
" 1 1 2 2 3 3 4 4 5 5",
532532
],
533533
),
534534
(
535535
sgrid.DimDimPadding("face", "node", sgrid.Padding.HIGH),
536536
[
537-
" face:node (padding:high)",
538-
" ●─────●─────●─────●─────●─────",
539-
" 1 1 2 2 3 3 4 4 5 5",
537+
"face:node (padding:high)",
538+
" ●─────●─────●─────●─────●─────",
539+
" 1 1 2 2 3 3 4 4 5 5",
540540
],
541541
),
542542
(
543543
sgrid.DimDimPadding("face", "node", sgrid.Padding.BOTH),
544544
[
545-
" face:node (padding:both)",
546-
" ─────●─────●─────●─────●─────●─────",
547-
" 1 1 2 2 3 3 4 4 5 5 6",
545+
"face:node (padding:both)",
546+
" ─────●─────●─────●─────●─────●─────",
547+
" 1 1 2 2 3 3 4 4 5 5 6",
548548
],
549549
),
550550
(
551551
sgrid.DimDimPadding("face", "node", sgrid.Padding.NONE),
552552
[
553-
" face:node (padding:none)",
554-
" ●─────●─────●─────●─────●",
555-
" 1 1 2 2 3 3 4 4 5",
553+
"face:node (padding:none)",
554+
" ●─────●─────●─────●─────●",
555+
" 1 1 2 2 3 3 4 4 5",
556556
],
557557
),
558558
],
559559
)
560-
def test_face_node_padding_to_diagram(face_node_padding: sgrid.DimDimPadding, expected: str):
560+
def test_face_node_padding_to_diagram(face_node_padding: sgrid.DimDimPadding, expected_lines: list[str]):
561561
actual = face_node_padding.to_diagram()
562-
assert actual == expected
562+
lines = actual.split("\n")
563+
assert lines == expected_lines

0 commit comments

Comments
 (0)