Merge pull request 'updated panic message to clearer message' (#15) from development_privilege into main

Reviewed-on: #15
This commit is contained in:
mik-tf 2024-10-12 11:56:48 +00:00
commit eef5a0dfbe

51
flist.v
View File

@ -13,6 +13,12 @@ const binary_location = $if windows {
'/usr/local/bin/flist' '/usr/local/bin/flist'
} }
const err_privilege = $if windows {
'Run with admin PowerShell'
} $else {
'Run with sudo'
}
const docker_cmd = $if windows { const docker_cmd = $if windows {
'docker' 'docker'
} $else { } $else {
@ -139,9 +145,18 @@ fn install() {
info_message('Installing Flist CLI...') info_message('Installing Flist CLI...')
current_exe := os.executable() current_exe := os.executable()
if os.exists(current_exe) { if os.exists(current_exe) {
os.mkdir_all(os.dir(binary_location)) or { panic(err) } os.mkdir_all(os.dir(binary_location)) or {
os.cp(current_exe, binary_location) or { panic(err) } error_message('${err_privilege}: ${err}')
os.chmod(binary_location, 0o755) or { panic(err) } exit(1)
}
os.cp(current_exe, binary_location) or {
error_message('${err_privilege}: ${err}')
exit(1)
}
os.chmod(binary_location, 0o755) or {
error_message('${err_privilege}: ${err}')
exit(1)
}
$if windows { $if windows {
add_path_windows() add_path_windows()
} }
@ -158,7 +173,10 @@ fn uninstall() {
if os.exists(binary_location) { if os.exists(binary_location) {
// Remove the binary file // Remove the binary file
os.rm(binary_location) or { panic(err) } os.rm(binary_location) or {
error_message('${err_privilege}: ${err}')
exit(1)
}
success_message('Flist CLI has been removed from ' + binary_location) success_message('Flist CLI has been removed from ' + binary_location)
} else { } else {
info_message('Flist CLI is not installed at ' + binary_location) info_message('Flist CLI is not installed at ' + binary_location)
@ -171,10 +189,16 @@ fn uninstall() {
fn login() { fn login() {
mut token_exists := os.exists(token_file) mut token_exists := os.exists(token_file)
os.mkdir_all(config_dir) or { panic(err) } os.mkdir_all(config_dir) or {
error_message('${err_privilege}: ${err}')
exit(1)
}
if !token_exists { if !token_exists {
tfhub_token := os.input('Please enter your TF Hub token: ') tfhub_token := os.input('Please enter your TF Hub token: ')
os.write_file(token_file, tfhub_token) or { panic(err) } os.write_file(token_file, tfhub_token) or {
error_message('${err_privilege}: ${err}')
exit(1)
}
success_message('TF Hub token saved in ' + token_file) success_message('TF Hub token saved in ' + token_file)
} else { } else {
info_message('Your TF Hub token is already saved.') info_message('Your TF Hub token is already saved.')
@ -186,7 +210,10 @@ fn login() {
if !dockername_exists { if !dockername_exists {
docker_username := os.input('Please enter your Docker username: ') docker_username := os.input('Please enter your Docker username: ')
os.write_file(docker_username_file, docker_username) or { panic(err) } os.write_file(docker_username_file, docker_username) or {
error_message('${err_privilege}: ${err}')
exit(1)
}
success_message('Docker username saved in ' + docker_username_file) success_message('Docker username saved in ' + docker_username_file)
info_message('Enter your Docker password.') info_message('Enter your Docker password.')
result = os.system('${docker_cmd} login -u ${docker_username}') result = os.system('${docker_cmd} login -u ${docker_username}')
@ -201,14 +228,20 @@ fn login() {
fn logout() { fn logout() {
if os.exists(token_file) { if os.exists(token_file) {
os.rm(token_file) or { panic(err) } os.rm(token_file) or {
error_message('${err_privilege}: ${err}')
exit(1)
}
success_message('Your TF Hub token has been removed') success_message('Your TF Hub token has been removed')
} else { } else {
info_message('Your TF Hub token was already not present.') info_message('Your TF Hub token was already not present.')
} }
if os.exists(docker_username_file) { if os.exists(docker_username_file) {
os.rm(docker_username_file) or { panic(err) } os.rm(docker_username_file) or {
error_message('${err_privilege}: ${err}')
exit(1)
}
success_message('Your Docker username has been removed from the config folder.') success_message('Your Docker username has been removed from the config folder.')
} else { } else {
info_message('Your Docker username was already not present in the config folder.') info_message('Your Docker username was already not present in the config folder.')