diff --git a/flist.v b/flist.v index a5e60fc..4070fee 100644 --- a/flist.v +++ b/flist.v @@ -13,6 +13,12 @@ const binary_location = $if windows { '/usr/local/bin/flist' } +const err_privilege = $if windows { + 'Run with admin PowerShell' +} $else { + 'Run with sudo' +} + const docker_cmd = $if windows { 'docker' } $else { @@ -139,9 +145,18 @@ fn install() { info_message('Installing Flist CLI...') current_exe := os.executable() if os.exists(current_exe) { - os.mkdir_all(os.dir(binary_location)) or { panic(err) } - os.cp(current_exe, binary_location) or { panic(err) } - os.chmod(binary_location, 0o755) or { panic(err) } + os.mkdir_all(os.dir(binary_location)) or { + error_message('${err_privilege}: ${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 { add_path_windows() } @@ -158,7 +173,10 @@ fn uninstall() { if os.exists(binary_location) { // 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) } else { info_message('Flist CLI is not installed at ' + binary_location) @@ -171,10 +189,16 @@ fn uninstall() { fn login() { 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 { 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) } else { info_message('Your TF Hub token is already saved.') @@ -186,7 +210,10 @@ fn login() { if !dockername_exists { 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) info_message('Enter your Docker password.') result = os.system('${docker_cmd} login -u ${docker_username}') @@ -201,14 +228,20 @@ fn login() { fn logout() { 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') } else { info_message('Your TF Hub token was already not present.') } 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.') } else { info_message('Your Docker username was already not present in the config folder.')