Skip to content

Commit 01cb84b

Browse files
authored
Rename the --downgrade flag to --force (#18)
The old name was reflective of our expected use for the flag, but it also is used to re-download a version. This new name better reflects its broader semantics.
1 parent 9cc3cf6 commit 01cb84b

2 files changed

Lines changed: 35 additions & 20 deletions

File tree

brainframe/cli/commands/update.py

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,39 @@ def update():
1515

1616
docker_compose.assert_installed(install_path)
1717

18-
_, _, upgrade_version = docker_compose.check_download_version()
19-
existing_version = docker_compose.check_existing_version(install_path)
20-
if version.parse(existing_version) >= version.parse(upgrade_version):
21-
if not args.downgrade:
18+
if args.version == "latest":
19+
_, _, requested_version_str = docker_compose.check_download_version()
20+
else:
21+
requested_version_str = args.version
22+
23+
existing_version_str = docker_compose.check_existing_version(install_path)
24+
25+
existing_version = version.parse(existing_version_str)
26+
requested_version = version.parse(requested_version_str)
27+
28+
if not args.force:
29+
if existing_version == requested_version:
2230
print_utils.fail_translate(
23-
"update.version-failing",
24-
existing_version=existing_version,
25-
upgrade_version=upgrade_version,
31+
"update.version-already-installed",
32+
existing_version=existing_version_str,
33+
requested_version=requested_version_str,
34+
)
35+
elif existing_version > requested_version:
36+
print_utils.fail_translate(
37+
"update.downgrade-not-allowed",
38+
existing_version=existing_version_str,
39+
requested_version=requested_version_str,
2640
)
2741

2842
print_utils.translate(
2943
"update.upgrade-version",
30-
existing_version=existing_version,
31-
upgrade_version=upgrade_version,
44+
existing_version=existing_version_str,
45+
requested_version=requested_version_str,
3246
)
3347

3448
print_utils.translate("general.downloading-docker-compose")
3549
docker_compose_path = install_path / "docker-compose.yml"
36-
docker_compose.download(docker_compose_path, version=args.version)
50+
docker_compose.download(docker_compose_path, version=requested_version_str)
3751

3852
docker_compose.run(install_path, ["pull"])
3953

@@ -72,9 +86,7 @@ def _parse_args():
7286
)
7387

7488
parser.add_argument(
75-
"--downgrade",
76-
action="store_true",
77-
help=i18n.t("update.downgrade-help"),
89+
"--force", action="store_true", help=i18n.t("update.force-help"),
7890
)
7991

8092
return subcommand_parse_args(parser)

brainframe/cli/translations/update.en.yml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,17 @@ en:
66
supported, and may result in instability or data loss."
77
restart-help: "If provided, the server will restart after the update is
88
complete"
9-
downgrade-help: "If provided, BrainFrame server will be forced to downgrade."
9+
force-help: "If provided, the BrainFrame server will download the
10+
specified version, even if it is not newer than the current version."
1011
ask-restart: "Would you like to restart the BrainFrame server to apply the
1112
update?"
1213
complete: "BrainFrame has been updated!"
1314
upgrade-version: "BrainFrame:%{existing_version} detected under your installation
14-
location, we will replace it with BrainFrame:%{upgrade_version}"
15-
version-failing: "You have BrainFrame:%{existing_version} installed already.
16-
The latest version we found on updating server is
17-
BrainFrame:%{upgrade_version}. We don't recommend downgrading BrainFrame
18-
for data integrity reasons. This request will be ignored. But you can force to
19-
downgrade by appending --downgrade flag."
15+
location, we will replace it with BrainFrame:%{requested_version}"
16+
version-already-installed: "BrainFrame:%{existing_version} is already
17+
installed. This request will be ignored. You can force this release to be
18+
re-downloaded using the --force flag."
19+
downgrade-not-allowed: "BrainFrame:%{requested_version} is an earlier release
20+
than the currently installed version, BrainFrame:%{existing_version}. We
21+
don't recommend downgrading BrainFrame for data integrity reasons. This
22+
request will be ignored. You can force a downgrade using the --force flag."

0 commit comments

Comments
 (0)