CHAR_COLL_SEP_PAGE = '='
CHAR_COL_SOLID = '+'
CHAR_COL_TRANSPARENT = '-'
+CHAR_INQUIRY = '?'
BOX_PREFIX = 'box:'
PieceListing = tuple[int, str, str]
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,
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))