Files
Autodesk-Fusion-360-for-Linux/files/builds/stable-branch/bin/update.sh
2022-02-21 13:41:14 +01:00

239 lines
8.9 KiB
Bash

#!/bin/bash
####################################################################################################
# Name: Autodesk Fusion 360 - Cronjob for Update (Linux) #
# Description: This file checks whether there is a newer version of Autodesk Fusion 360. #
# Author: Steve Zabka #
# Author URI: https://cryinkfly.com #
# License: MIT #
# Copyright (c) 2020-2022 #
# Time/Date: 10:45/21.02.2022 #
# Version: 0.0.8 #
####################################################################################################
# Path: /$HOME/.config/fusion-360/bin/update.sh
###############################################################################################################################################################
# Window Title (Launcher)
program_name="Autodesk Fusion 360 for Linux - Launcher"
# I will change this value as soon as a new version of Autodesk Fusion 360 is available.
# A value of 0 means that there is no update and a value of 1 will notify the user that there is an update.
get_update=0
# Domain Name:
domain="www.github.com"
# Reset connection-value!
connection=0
###############################################################################################################################################################
# ALL FUNCTIONS ARE ARRANGED HERE: #
###############################################################################################################################################################
# Load the locale files ...
function load-locale-cs {
. $HOME/.config/fusion-360/locale/cs-CZ/locale-cs.sh
}
function load-locale-de {
. $HOME/.config/fusion-360/locale/de-DE/locale-de.sh
}
function load-locale-en {
. $HOME/.config/fusion-360/locale/en-US/locale-en.sh
}
function load-locale-es {
. $HOME/.config/fusion-360/locale/es-ES/locale-es.sh
}
function load-locale-fr {
. $HOME/.config/fusion-360/locale/fr-FR/locale-fr.sh
}
function load-locale-it {
. $HOME/.config/fusion-360/locale/it-IT/locale-it.sh
}
function load-locale-ja {
. $HOME/.config/fusion-360/locale/ja-JP/locale-ja.sh
}
function load-locale-ko {
. $HOME/.config/fusion-360/locale/ko-KR/locale-ko.sh
}
function load-locale-zh {
. $HOME/.config/fusion-360/locale/zh-CN/locale-zh.sh
}
function setupact-config-locale {
config_locale=`. $HOME/.config/fusion-360/locale/profile-locale.sh $HOME/.config/fusion-360/logs/profile-locale.log 1`
if [ "$config_locale" = "cs-CZ" ]; then
load-locale-cs
elif [ "$config_locale" = "de-DE" ]; then
load-locale-de
elif [ "$config_locale" = "en-US" ]; then
load-locale-en
elif [ "$config_locale" = "es-ES" ]; then
load-locale-es
elif [ "$config_locale" = "fr-FR" ]; then
load-locale-fr
elif [ "$config_locale" = "it-IT" ]; then
load-locale-it
elif [ "$config_locale" = "ja-JP" ]; then
load-locale-ja
elif [ "$config_locale" = "ko-KR" ]; then
load-locale-ko
elif [ "$config_locale" = "zh-CN" ]; then
load-locale-zh
else
load-locale-en
fi
}
###############################################################################################################################################################
# Check the connection to the server of GitHub.
function setupact-check-connection {
ping -c 1 $domain 2>/dev/null 1>/dev/null
echo "$?"
if [ "$?" = 0 ]; then
echo "Connection to the domain worked!"
connection=1
echo "$connection"
else
echo "No connection to the domain!"
fi
}
###############################################################################################################################################################
# Checks if there is an update for Autodesk Fusion 360.
function setupact-check-info {
if [ $connection -eq 1 ] && [ $get_update -eq 1 ]; then
setupact-update-question
elif [ $connection -eq 1 ] && [ $get_update -eq 0 ]; then
setupact-no-update-info
else
setupact-no-connection-warning
fi
}
###############################################################################################################################################################
function setupact-get-update {
wget https://dl.appstreaming.autodesk.com/production/installers/Fusion%20360%20Admin%20Install.exe -O Fusion360installer.exe
mv "Fusion360installer.exe" "$HOME/.config/fusion-360/downloads/Fusion360installer.exe"
}
###############################################################################################################################################################
function setupact-install-update {
WINEPREFIX="$HOME/.wineprefixes/fusion360" wine $HOME/.config/fusion-360/downloads/Fusion360installer.exe -p deploy -g -f log.txt --quiet
WINEPREFIX="$HOME/.wineprefixes/fusion360" wine $HOME/.config/fusion-360/downloads/Fusion360installer.exe -p deploy -g -f log.txt --quiet
}
###############################################################################################################################################################
# ALL DIALOGS ARE ARRANGED HERE: #
###############################################################################################################################################################
# The user get a informationt that no newer version of Autodesk Fusion 360 was found!
function setupact-no-update-info {
zenity --info \
--text="$text_no_update_info" \
--width=400 \
--height=100
}
###############################################################################################################################################################
# The user will be informed that he is skipping the update!
function setupact-skip-info {
zenity --warning \
--text="$text_skip_update_info" \
--width=400 \
--height=100
}
###############################################################################################################################################################
# The user get a informationt that there is no connection to the server!
function setupact-no-connection-warning {
zenity --error \
--text="$text_no_connection_warning" \
--width=400 \
--height=100
}
###############################################################################################################################################################
# The user will be asked if he wants to update or not.
function setupact-update-question {
zenity --question \
--title="$program_name" \
--text="$text_update_question" \
--width=400 \
--height=100
answer=$?
if [ "$answer" -eq 0 ]; then
setupact-get-update
setupact-install-update
elif [ "$answer" -eq 1 ]; then
setupact-skip-info
fi
}
###############################################################################################################################################################
# A progress bar is displayed here.
function setupact-progressbar {
(
echo "30" ; sleep 2
echo "# Connecting to the server ..." ; sleep 3
setupact-check-connection
echo "50" ; sleep 1
echo "# Check all files ..." ; sleep 1
echo "75" ; sleep 3
echo "# All files are checked!" ; sleep 1
) |
zenity --progress \
--title="$program_name" \
--text="Search for new updates ..." \
--width=400 \
--height=100 \
--percentage=0
if [ "$?" = 0 ] ; then
setupact-check-info
elif [ "$?" = 1 ] ; then
zenity --question \
--title="$program_name" \
--text="$text_skip_update_question" \
--width=400 \
--height=100
answer=$?
if [ "$answer" -eq 0 ]; then
echo "Do nothing!"
elif [ "$answer" -eq 1 ]; then
setupact-progressbar
fi
elif [ "$?" = -1 ] ; then
zenity --error \
--text="$text_error"
exit;
fi
}
###############################################################################################################################################################
# THE PROGRAM IS STARTED HERE: #
###############################################################################################################################################################
setupact-config-locale
setupact-progressbar