mirror of
				https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux.git
				synced 2025-10-31 18:36:33 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			171 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
		
			6.8 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:    11:15/17.02.2022                                                                   #
 | |
| # Version:      0.0.4                                                                              #
 | |
| ####################################################################################################
 | |
| 
 | |
| # 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"
 | |
| 
 | |
| ###############################################################################################################################################################
 | |
| # ALL FUNCTIONS ARE ARRANGED HERE:                                                                                                                            #
 | |
| ###############################################################################################################################################################
 | |
| 
 | |
| # Check the connection to the server of GitHub.
 | |
| function setupact-check-connection {
 | |
|   ping -c 5 $domain 2>/dev/null 1>/dev/null
 | |
|   if [ "$?" = 0 ]; then
 | |
|     echo "Host found"
 | |
|   else
 | |
|     echo "Host not found"
 | |
|     setupact-no-connection-warning
 | |
|     # Skip the update proecess ... (Still in Progress!)
 | |
| fi
 | |
| }
 | |
| 
 | |
| # Checks if there is an update for Autodesk Fusion 360.
 | |
| function setupact-check-update {
 | |
|   if [ $get_update -eq 1 ]; then
 | |
|     setupact-get-update
 | |
|   else    
 | |
|     echo "Do nothing!"
 | |
|     setupact-no-update-info
 | |
|   fi
 | |
| }
 | |
| 
 | |
| # Checks the current day of the week so that the update can be performed.
 | |
| # %u day of week (1..7); 1 is Monday.
 | |
| 
 | |
| # The update runs on Monday, Wednesday and Friday.
 | |
| function setupact-get-update  {
 | |
|   pc_date=$(date +%u)
 | |
|   if [ $pc_date -eq 1 ]; then
 | |
|      echo "Monday"
 | |
|     setupact-update-question
 | |
|   elif [ $pc_date -eq 3 ]; then
 | |
|      echo "Wednesday"
 | |
|     setupact-update-question
 | |
|   elif [ $pc_date -eq 5 ]; then
 | |
|      echo "Friday"
 | |
|     setupact-update-question
 | |
|   else    
 | |
|     setupact-no-update-info
 | |
|   fi
 | |
| }
 | |
| 
 | |
| function setupact-get-f360exe {
 | |
|   wget https://dl.appstreaming.autodesk.com/production/installers/Fusion%20360%20Admin%20Install.exe -O Fusion360installer.exe
 | |
| }
 | |
| 
 | |
| function setupact-update {
 | |
|   WINEPREFIX="$HOME/.wineprefixes/fusion360" wine Fusion360installer.exe -p deploy -g -f log.txt --quiet
 | |
|   WINEPREFIX="$HOME/.wineprefixes/fusion360" wine 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="No newer version was found, so your Autodesk fusion 360 is up to date!" \
 | |
|   --width=400 \
 | |
|   --height=100
 | |
| }
 | |
| 
 | |
| ###############################################################################################################################################################
 | |
| 
 | |
| # The user get a informationt that there is no connection to the server!
 | |
| function setupact-no-connection-warning {
 | |
|   zenity --warning \
 | |
|   --text="The connection to the server could not be established! The search for new updates has been skipped! Please check your internet connection!" \
 | |
|   --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="A new version has been released! Would you like to update now?" \
 | |
|   --width=400 \
 | |
|   --height=100
 | |
|   answer=$?
 | |
| 
 | |
|   if [ "$answer" -eq 0 ]; then
 | |
|      echo "Do nothing!"
 | |
|   elif [ "$answer" -eq 1 ]; then
 | |
|     setupact-get-f360exe
 | |
|     setupact-update
 | |
|   fi
 | |
| }
 | |
| 
 | |
| ###############################################################################################################################################################
 | |
| 
 | |
| # A progress bar is displayed here.
 | |
| function setupact-progressbar {
 | |
|   (
 | |
| echo "5" ; sleep 1
 | |
| echo "# Connecting to the server ..." ; sleep 5
 | |
| setupact-check-connection
 | |
| echo "25" ; sleep 1
 | |
| echo "# Check for updates ..." ; sleep 3
 | |
| setupact-check-update
 | |
| echo "75" ; sleep 1
 | |
| ) |
 | |
| zenity --progress \
 | |
|   --title="$program_name" \
 | |
|   --text="Checking if there is a new version of Autodesk fusion 360 available ..." \
 | |
|   --width=400 \
 | |
|   --height=100 \
 | |
|   --percentage=0
 | |
| 
 | |
| if [ "$?" = 0 ] ; then
 | |
|         setupact-update-solved
 | |
| elif [ "$?" = 1 ] ; then
 | |
|         zenity --question \
 | |
|                  --title="$program_name" \
 | |
|                  --text="Are you sure you want to skip checking for an Autodesk Fusion 360 update?" \
 | |
|                  --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="An unexpected error occurred!"
 | |
|         exit;
 | |
| fi
 | |
| }
 | |
| 
 | |
| ###############################################################################################################################################################
 | |
| # THE INSTALLATION PROGRAM IS STARTED HERE:                                                                                                                   #
 | |
| ###############################################################################################################################################################
 | |
| 
 | |
| setupact-progressbar
 |