summaryrefslogtreecommitdiff
path: root/build/lib/nba/cli.py
diff options
context:
space:
mode:
Diffstat (limited to 'build/lib/nba/cli.py')
-rw-r--r--build/lib/nba/cli.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/build/lib/nba/cli.py b/build/lib/nba/cli.py
new file mode 100644
index 0000000..e5f460d
--- /dev/null
+++ b/build/lib/nba/cli.py
@@ -0,0 +1,50 @@
+"""
+This script uses argparse to parse command line arguments.
+
+It imports the required modules and sets up a parser with basic options for demonstration purposes.
+"""
+
+import argparse
+from nba import fetch_data, scores, standings
+
+
+def nba() -> None:
+ """
+ Parse command-line arguments and display either scoreboard or standings.
+ """
+ parser = argparse.ArgumentParser(description="NBA Scoreboard and Standings")
+ parser.add_argument(
+ "--scores", "-sc", action="store_true", help="Display the scoreboard"
+ )
+ parser.add_argument(
+ "--standings", "-st", action="store_true", help="Display the standings"
+ )
+ parser.add_argument(
+ "--tui", action="store_true", help="Launch the interactive TUI"
+ )
+ parser.add_argument(
+ "--refresh",
+ type=int,
+ default=60,
+ metavar="SECONDS",
+ help="Auto-refresh interval in TUI mode (default: 60, minimum: 10)",
+ )
+ args = parser.parse_args()
+
+ if args.tui:
+ from nba.tui.app import NBAApp
+
+ initial_tab = "standings" if args.standings else "scores"
+ refresh_interval = max(args.refresh, 10)
+ NBAApp(initial_tab=initial_tab, refresh_interval=refresh_interval).run()
+ return
+
+ # Legacy static mode
+ games, ranks = fetch_data.fetch_data()
+
+ if args.scores:
+ scores.build_scoreboard(games, ranks)
+ elif args.standings:
+ standings.build_standings(ranks)
+ else:
+ print("Please specify --scores or --standings (or use --tui for interactive mode)")