slab-cli 0.2.0__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {slab_cli-0.2.0 → slab_cli-0.3.0}/PKG-INFO +1 -1
- {slab_cli-0.2.0 → slab_cli-0.3.0}/pyproject.toml +1 -1
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/catalog.py +8 -4
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/help.py +16 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/README.md +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/__init__.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/banner.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/client.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/__init__.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/breaks.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/collection.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/custom_sets.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/export.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/lots.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/pricing.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/registry.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/setup.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/config.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/context.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/display.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/flags.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/main.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/paging.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/picker.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/prompts.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/sources.py +0 -0
- {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/theme.py +0 -0
|
@@ -21,10 +21,14 @@ def cmd_search(args: list[str]) -> None:
|
|
|
21
21
|
The same flags work on `slab collection search` — learn them once.
|
|
22
22
|
|
|
23
23
|
Examples:
|
|
24
|
-
slab card search McDavid --rookie
|
|
25
|
-
slab card search Bedard --year 2025 --numbered
|
|
26
|
-
slab card search --
|
|
27
|
-
slab card search --
|
|
24
|
+
slab card search McDavid --rookie # free text + one filter
|
|
25
|
+
slab card search Bedard --year 2025 --numbered # season + serial-numbered only
|
|
26
|
+
slab card search --team Bruins --team Leafs # any-of: either team
|
|
27
|
+
slab card search --brand "Upper Deck" --run-min 1 --run-max 99 # print-run range
|
|
28
|
+
slab card search McDavid --auto --parallel --sort -year # stack modifiers, newest first
|
|
29
|
+
slab card search --subset "Young Guns" --rookie --limit 50
|
|
30
|
+
|
|
31
|
+
Every flag combines with AND; repeat an any-of flag (--team, --brand, --finish…) to widen it.
|
|
28
32
|
|
|
29
33
|
Sort keys: year, card_number, numbered, subject, brand, set (prefix - for descending).
|
|
30
34
|
"""
|
|
@@ -66,9 +66,25 @@ def render_command_help(group: Group, command: Command) -> None:
|
|
|
66
66
|
for f in flags:
|
|
67
67
|
grid.add_row(f" {f.usage()}", f.help)
|
|
68
68
|
console.print(grid)
|
|
69
|
+
_render_query_grammar()
|
|
69
70
|
console.print()
|
|
70
71
|
|
|
71
72
|
|
|
73
|
+
def _render_query_grammar() -> None:
|
|
74
|
+
"""A generic primer on how the search grammar composes — printed under every command's flag
|
|
75
|
+
table. It describes the mechanics (free text, any-of, ranges, AND), never specific flags, so it
|
|
76
|
+
stays true no matter how the flag list evolves."""
|
|
77
|
+
console.print(Text.from_markup(
|
|
78
|
+
"\n [slab.label]Writing a query[/]"
|
|
79
|
+
"\n [slab.dim]Bare words are a free-text search (player, set…).[/]"
|
|
80
|
+
"\n [slab.dim]Flags narrow it, and every flag you add combines with AND.[/]"
|
|
81
|
+
"\n [slab.dim]Repeat an 'any-of' flag to match several values:[/] "
|
|
82
|
+
"[slab.value]--team Bruins --team Leafs[/]"
|
|
83
|
+
"\n [slab.dim]Pair a[/] [slab.value]--…-min[/] [slab.dim]with its[/] [slab.value]--…-max[/] "
|
|
84
|
+
"[slab.dim]for a range:[/] [slab.value]--run-min 1 --run-max 99[/]"
|
|
85
|
+
))
|
|
86
|
+
|
|
87
|
+
|
|
72
88
|
def render_root_help() -> None:
|
|
73
89
|
"""`slab` — the whole command surface, grouped by noun. The discovery home."""
|
|
74
90
|
console.print(BANNER)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|