Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions install-poetry.py
Original file line number Diff line number Diff line change
Expand Up @@ -547,14 +547,14 @@ def _is_self_upgrade_supported(x):
return 0

try:
self.install(version)
new_windows_bin = self.install(version)
except subprocess.CalledProcessError as e:
raise PoetryInstallationError(
return_code=e.returncode, log=e.output.decode()
)

self._write("")
self.display_post_message(version)
self.display_post_message(version, new_windows_bin)

return 0

Expand All @@ -574,7 +574,7 @@ def install(self, version):
self.version_file.write_text(version)
self._install_comment(version, "Done")

return 0
return env.bin_path

def uninstall(self) -> int:
if not self.data_dir.exists():
Expand Down Expand Up @@ -681,30 +681,35 @@ def display_pre_message(self) -> None:
}
self._write(PRE_MESSAGE.format(**kwargs))

def display_post_message(self, version: str) -> None:
def display_post_message(self, version: str, new_windows_bin: str) -> None:
if WINDOWS:
return self.display_post_message_windows(version)
return self.display_post_message_windows(version, new_windows_bin)

if SHELL == "fish":
return self.display_post_message_fish(version)

return self.display_post_message_unix(version)

def display_post_message_windows(self, version: str) -> None:
def display_post_message_windows(self, version: str, new_windows_bin: str) -> None:
path = self.get_windows_path_var()

message = POST_MESSAGE_NOT_IN_PATH
if path and str(self.bin_dir) in path:
message = POST_MESSAGE

if new_windows_bin != self.bin_dir:
final_path = new_windows_bin
else:
final_path = self.bin_dir

self._write(
message.format(
poetry=colorize("info", "Poetry"),
version=colorize("b", version),
poetry_home_bin=colorize("comment", self.bin_dir),
poetry_executable=colorize("b", self.bin_dir.joinpath("poetry")),
poetry_home_bin=colorize("comment", final_path),
poetry_executable=colorize("b", final_path.joinpath("poetry")),
configure_message=POST_MESSAGE_CONFIGURE_WINDOWS.format(
poetry_home_bin=colorize("comment", self.bin_dir)
poetry_home_bin=colorize("comment", final_path)
),
test_command=colorize("b", "poetry --version"),
)
Expand Down