@@ -101,13 +101,16 @@ def command_add(tracking_numbers: list[str]) -> None:
101
101
con .print (f"[green]✓ USPS { tracking_number } added to your package list.[/]" )
102
102
103
103
@app .command ("remove" )
104
- def command_remove (tracking_numbers : list [str ]) -> None :
105
- """Remove tracking numbers from your package list."""
104
+ def command_remove (tracking_numbers_or_names : list [str ]) -> None :
105
+ """Remove tracking numbers (or package names) from your package list."""
106
106
current_packages = packages .load ()
107
- for tracking_number in tracking_numbers :
108
- if tracking_number in current_packages :
109
- del current_packages [tracking_number ]
110
- con .print (f"[green]✓ USPS { tracking_number } removed from your package list.[/]" )
107
+ names_to_numbers = {v : k for k , v in current_packages .items ()}
108
+
109
+ for identifier in tracking_numbers_or_names :
110
+ identifier = names_to_numbers .get (identifier , identifier )
111
+ if identifier in current_packages :
112
+ del current_packages [identifier ]
113
+ con .print (f"[green]✓ USPS { identifier } removed from your package list.[/]" )
111
114
112
115
packages .save (current_packages )
113
116
@@ -139,7 +142,15 @@ def command_name(
139
142
140
143
packages .save (original_packages | {tracking_number : name })
141
144
145
+ @app .command ("list" )
146
+ def command_list () -> None :
147
+ """List everything stored in the saved package list."""
148
+ tracked = {k : v or "N/A" for k , v in packages .load ().items ()}
149
+ longest_name = len (max (tracked , key = lambda tracking_number : len (tracked [tracking_number ])))
150
+ for tracking_number , name in tracked .items ():
151
+ con .print (f"°︎ { name } :{ ' ' * (longest_name - len (name ) + 1 )} [cyan]{ get_service (tracking_number )} [/] [bright_blue]{ tracking_number } [/]" )
152
+
142
153
@app .command ("version" )
143
154
def command_version () -> None :
144
- """Show the package version."""
155
+ """Show the CLI version."""
145
156
con .print (f"[cyan]USPS-cli v{ __version__ } by iiPython[/]\n -> [yellow]https://github.com/iiPythonx/usps" )
0 commit comments