From: Plom Heller Date: Thu, 30 Apr 2026 01:16:53 +0000 (+0200) Subject: Reorganize Collection metadata serialization. X-Git-Url: https://plomlompom.com/repos/booking/%22https:/validator.w3.org/process?a=commitdiff_plain;h=f3e20dd3939b3611873ec13b4993b4c99654eb1f;p=bricksplom Reorganize Collection metadata serialization. --- diff --git a/bricksplom.py b/bricksplom.py index 70a3f22..e0c395e 100755 --- a/bricksplom.py +++ b/bricksplom.py @@ -218,12 +218,13 @@ class Collection(Textfiled): i_listings: list[list[list[PieceListing]]] = [[[]]] for line in cls.lines_of(path): if not line.startswith(CHAR_SPACE): - id_, is_in_str, description = cls.tokify(line, 3) - assert is_in_str in {CHAR_IN, CHAR_OUT, CHAR_INACTIVE} - is_in = (None if is_in_str == CHAR_INACTIVE - else is_in_str == CHAR_IN) + id_, metadata = cls.tokify(line, 2) + assert metadata + assert metadata[0] in {CHAR_IN, CHAR_OUT, CHAR_INACTIVE} + is_in = (None if metadata[0] == CHAR_INACTIVE + else metadata[0] == CHAR_IN) i_listings = [[[]]] - collected[id_] = is_in, description, i_listings + collected[id_] = is_in, metadata[1:], i_listings elif line[1:2] == CHAR_SEPARATOR_COLUMN: i_listings[-1] += [[]] elif line[1:2] == CHAR_SEPARATOR_PAGE: @@ -245,7 +246,7 @@ class Collection(Textfiled): ) -> str: is_in_str = (CHAR_INACTIVE if self.is_in is None else (CHAR_IN if self.is_in else CHAR_OUT)) - return (f'\n{self.id_} {is_in_str} {self.description}\n' + return (f'\n{self.id_} {is_in_str}{self.description}\n' + self._format_paginated(lambda count, p_id, comment: f' {count:2} {p_id:>7} {comment}'))