1
1
# Copyright (c) 2024 iiPython
2
2
3
3
# Modules
4
+ import time
4
5
import typing
5
6
import textwrap
6
7
@@ -56,7 +57,10 @@ def ordinal(day: int) -> str:
56
57
print ()
57
58
58
59
@app .command ("track" )
59
- def command_track (tracking_number : typing .Annotated [typing .Optional [str ], typer .Argument ()] = None ) -> None :
60
+ def command_track (
61
+ tracking_number : typing .Annotated [typing .Optional [str ], typer .Argument ()] = None ,
62
+ refresh : typing .Annotated [typing .Optional [int ], typer .Option (help = "Auto refresh the tracking information every x minutes." )] = None ,
63
+ ) -> None :
60
64
"""Track the specified tracking numbers, tracking your package list if no tracking
61
65
number is specified."""
62
66
@@ -69,8 +73,17 @@ def command_track(tracking_number: typing.Annotated[typing.Optional[str], typer.
69
73
if not tracking_numbers :
70
74
return con .print ("[red]× You don't have any default packages to track.[/]" )
71
75
72
- for package , name in tracking_numbers .items ():
73
- show_package (package , name , tracking .track_package (package ))
76
+ if refresh is not None :
77
+ while True :
78
+ print ("\033 [H\033 [2J" , end = "" )
79
+ for package , name in tracking_numbers .items ():
80
+ show_package (package , name , tracking .track_package (package ))
81
+
82
+ time .sleep (refresh * 60 )
83
+
84
+ else :
85
+ for package , name in tracking_numbers .items ():
86
+ show_package (package , name , tracking .track_package (package ))
74
87
75
88
@app .command ("add" )
76
89
def command_add (tracking_numbers : list [str ]) -> None :
0 commit comments