sort_by: str
) -> str:
'Return result of inquiry on table of table_name.'
+ assert (not show_raw) or table_name != 'boxes'
assert hasattr(self, table_name) and table_name in self.lookupable
table = getattr(self, table_name)
if item_id:
choices=choices, type=complete, metavar='TABLE', help=msg)
parser = ArgumentParser()
add_abbreviable_table_arg()
- parser.add_argument('item_id',
- nargs='?', metavar='ITEM_ID')
- parser.add_argument('-r', '--raw',
- action='store_true')
- parser.add_argument('-m', '--match-by',
- action='store')
- parser.add_argument('-s', '--sort-by',
- action='store', default=TOK_SORT_ID)
- parser.add_argument('-l', '--ldraw',
- action='store', default='')
- return parser.parse_args()
+ parser.add_argument(
+ 'item_id',
+ nargs='?', metavar='ITEM_ID')
+ parser.add_argument(
+ '-m', '--match-by',
+ action='store')
+ parser.add_argument(
+ '-s', '--sort-by',
+ action='store', default=TOK_SORT_ID)
+ parser.add_argument(
+ '-l', '--ldraw',
+ action='store', default='')
+ hint_raw = 'not available for boxes table'
+ action_raw = parser.add_argument(
+ '-r', '--raw',
+ action='store_true', help=f'NB: {hint_raw}')
+ args = parser.parse_args()
+ if args.table == 'boxes' and args.raw:
+ parser.error(str(ArgumentError(action_raw, hint_raw)))
+ return args
args = parse_args()
db = BricksDb(environ.get(NAME_ENV_DIRNAME, '.'),