From 74436c4ff851c195b8bcd3bce8b29becb957427b Mon Sep 17 00:00:00 2001 From: Plom Heller Date: Thu, 6 Aug 2026 23:24:59 +0200 Subject: [PATCH] For designs, add -f to_boxes. --- src/bricksplom/misc.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/bricksplom/misc.py b/src/bricksplom/misc.py index 90aa8ec..0a4c4a2 100644 --- a/src/bricksplom/misc.py +++ b/src/bricksplom/misc.py @@ -330,8 +330,24 @@ class BrickDesign(Textfiled, WithDb, Lookupable): walk(lines, item.ldraw, item.db.ldraw.tree(item.ldraw)) return CHAR_NEWLINE.join(lines) + def to_boxes( + item: Self + ) -> str: + assert item.db is not None + brick_ids = tuple(b.id_ for b in item.db.bricks.values() + if b.design_id in item.all_ids) + boxes = set() + for box in item.db.boxes.values(): + for _ in [t[1] for t in box.brick_listings_flat() + if t[1] in brick_ids]: + boxes.add(box.id_) + break + return f'{item.id_indented()}: {",".join(list(boxes))}' + return super().formatters() | { - 'ldraw_tree': ('tree of LDRAW references', ldraw_tree)} + 'ldraw_tree': ('tree of LDRAW references', ldraw_tree), + 'to_boxes': ('to containing boxes', to_boxes) + } @classmethod def matchers( -- 2.30.2