From: Plom Heller Date: Fri, 1 May 2026 23:48:40 +0000 (+0200) Subject: Extend inquiry command into full-text search. X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/blog?a=commitdiff_plain;h=5b9a665bf42364cb5834aece0c4cbb12bb1414fa;p=bricksplom Extend inquiry command into full-text search. --- diff --git a/bricksplom.py b/bricksplom.py index 835ba18..f9143ef 100755 --- a/bricksplom.py +++ b/bricksplom.py @@ -25,6 +25,7 @@ CHAR_COLL_SEP_COLUMN = '-' CHAR_COLL_SEP_PAGE = '=' CHAR_COL_SOLID = '+' CHAR_COL_TRANSPARENT = '-' +CHAR_INQUIRY = '?' BOX_PREFIX = 'box:' PieceListing = tuple[int, str, str] @@ -455,7 +456,10 @@ class BricksDb: assert table_name in self.lookupable maybe_dict = getattr(self, table_name) table = maybe_dict if isinstance(maybe_dict, dict) else maybe_dict() - return table[inquiry] + return (CHAR_NEWLINE.join([str(v) for v in table.values() + if inquiry[1:].upper() in str(v).upper()]) + if inquiry.startswith(CHAR_INQUIRY) + else table[inquiry]) def piece_to_box_listing( self, @@ -506,7 +510,7 @@ def main( db = BricksDb(environ.get(NAME_ENV_DIRNAME, '.')) parser = ArgumentParser() add_abbrev_choices_arg(parser, 'table', set(db.lookupable)) - parser.add_argument('inquiry') + parser.add_argument('inquiry', nargs='?', default=CHAR_INQUIRY) args = parser.parse_args() print(db.lookup(args.table, args.inquiry))