Skip to content

Commit 50d75e0

Browse files
committed
CLI - add warning when refreshing workouts and Open Elevation URL is set
1 parent 57eb703 commit 50d75e0

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

fittrackee/tests/workouts/test_workouts_commands.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,8 @@ def test_it_displays_message_when_no_workouts_to_refresh(
536536
) -> None:
537537
runner = CliRunner()
538538

539-
result = runner.invoke(cli, ["workouts", "refresh"])
539+
with patch("click.confirm"):
540+
result = runner.invoke(cli, ["workouts", "refresh"])
540541

541542
assert result.exit_code == 0
542543
assert caplog.messages == ["No workouts to refresh.", "\nDone."]
@@ -546,7 +547,8 @@ def test_it_displays_message_when_no_workouts_to_refresh_and_verbose_is_true( #
546547
) -> None:
547548
runner = CliRunner()
548549

549-
result = runner.invoke(cli, ["workouts", "refresh", "--verbose"])
550+
with patch("click.confirm"):
551+
result = runner.invoke(cli, ["workouts", "refresh", "--verbose"])
550552

551553
assert result.exit_code == 0
552554
assert caplog.messages == ["No workouts to refresh.", "\nDone."]
@@ -651,9 +653,12 @@ def test_it_calls_workouts_refresh_service_whit_default_values(
651653
) -> None:
652654
runner = CliRunner()
653655

654-
with patch(
655-
"fittrackee.workouts.commands.WorkoutsFromFileRefreshService"
656-
) as service_mock:
656+
with (
657+
patch("click.confirm"),
658+
patch(
659+
"fittrackee.workouts.commands.WorkoutsFromFileRefreshService"
660+
) as service_mock,
661+
):
657662
runner.invoke(cli, ["workouts", "refresh"])
658663

659664
service_mock.assert_called_once_with(
@@ -677,6 +682,7 @@ def test_it_calls_workouts_refresh_service_with_all_values(
677682
runner = CliRunner()
678683

679684
with (
685+
patch("click.confirm"),
680686
patch(
681687
"fittrackee.workouts.commands.WorkoutsFromFileRefreshService"
682688
) as service_mock,
@@ -729,6 +735,7 @@ def test_it_displays_error_when_service_raises_error(
729735
runner = CliRunner()
730736

731737
with (
738+
patch("click.confirm"),
732739
patch(
733740
"fittrackee.workouts.commands.WorkoutsFromFileRefreshService"
734741
) as service_mock,

fittrackee/workouts/commands.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,19 @@ def refresh_workouts(
260260
refresh_logger.setLevel(logging.DEBUG)
261261
refresh_logger.addHandler(handler)
262262

263+
if app.config["OPEN_ELEVATION_API_URL"]:
264+
click.secho(
265+
"\nWarning: Open Elevation API is set.\nIf users have "
266+
"enabled missing elevation processing, multiple calls will be "
267+
"made to Open Elevation depending on the number of workouts "
268+
"to be refreshed, which may result in rate limit errors.",
269+
fg="yellow",
270+
bold=True,
271+
)
272+
if not click.confirm("Do you want to continue?"):
273+
click.echo("Aborted!")
274+
sys.exit(0)
275+
263276
try:
264277
service = WorkoutsFromFileRefreshService(
265278
sport_id=sport_id,

0 commit comments

Comments
 (0)