From: Plom Heller Date: Mon, 4 May 2026 03:43:40 +0000 (+0200) Subject: Simplify newlines handling in Collection printing. X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/%7B%7Bprefix%7D%7D/te%22st.html?a=commitdiff_plain;h=4cfbb7ad0de3434c78a8f33719335e1236b9bd89;p=bricksplom Simplify newlines handling in Collection printing. --- diff --git a/bricksplom.py b/bricksplom.py index e3379eb..3532a61 100755 --- a/bricksplom.py +++ b/bricksplom.py @@ -279,7 +279,7 @@ class Collection(Textfiled, WithDb): ) -> str: is_in_str = (CHAR_COLL_INACTIVE if self.is_in is None else (CHAR_COLL_IN if self.is_in else CHAR_COLL_OUT)) - return (f'\n{self.id_} {is_in_str}{self.description}\n' + return (f'{self.id_} {is_in_str}{self.description}\n' + self._format_paginated(lambda count, p_id, comment: f' {count:2} {p_id:>7} {comment}')) @@ -287,16 +287,16 @@ class Collection(Textfiled, WithDb): self, format_line: Callable[[int, str, str], str] ) -> str: - pages = [] - for page in self.piece_listings: - columns = [] - for column in page: - lines = [] + lines = [] + for idx_pages, page in enumerate(self.piece_listings): + if idx_pages != 0: + lines += [' ='] + for idx_columns, column in enumerate(page): + if idx_columns != 0: + lines += [' -'] for count, piece_id, comment in column: lines += [format_line(count, piece_id, comment)] - columns += ['\n'.join(lines)] - pages += ['\n -\n'.join(columns)] - return '\n =\n'.join(pages) + return '\n'.join(lines) + '\n' def piece_listings_flat(self) -> tuple[PieceListing, ...]: 'Flattened variant of .piece_listings, no division into pages/cols.'