| 
									
										
										
										
											2022-02-17 09:31:45 +01:00
										 |  |  | #!/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                                                                          # | 
					
						
							| 
									
										
										
										
											2022-02-17 11:12:53 +01:00
										 |  |  | # Time/Date:    11:15/17.02.2022                                                                   # | 
					
						
							|  |  |  | # Version:      0.0.4                                                                              # | 
					
						
							| 
									
										
										
										
											2022-02-17 09:31:45 +01:00
										 |  |  | #################################################################################################### | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Path: /$HOME/.config/fusion-360/bin/update.sh | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ############################################################################################################################################################### | 
					
						
							| 
									
										
										
										
											2022-02-17 11:12:53 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Window Title (Launcher) | 
					
						
							|  |  |  | program_name="Autodesk Fusion 360 for Linux - Launcher" | 
					
						
							| 
									
										
										
										
											2022-02-17 09:31:45 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-17 11:12:53 +01:00
										 |  |  | # 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 { | 
					
						
							| 
									
										
										
										
											2022-02-17 09:31:45 +01:00
										 |  |  |   if [ $get_update -eq 1 ]; then | 
					
						
							|  |  |  |     setupact-get-update | 
					
						
							|  |  |  |   else     | 
					
						
							| 
									
										
										
										
											2022-02-17 11:12:53 +01:00
										 |  |  |     echo "Do nothing!" | 
					
						
							|  |  |  |     setupact-no-update-info | 
					
						
							| 
									
										
										
										
											2022-02-17 09:31:45 +01:00
										 |  |  |   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 | 
					
						
							| 
									
										
										
										
											2022-02-17 11:12:53 +01:00
										 |  |  |      echo "Monday" | 
					
						
							|  |  |  |     setupact-update-question | 
					
						
							| 
									
										
										
										
											2022-02-17 09:31:45 +01:00
										 |  |  |   elif [ $pc_date -eq 3 ]; then | 
					
						
							| 
									
										
										
										
											2022-02-17 11:12:53 +01:00
										 |  |  |      echo "Wednesday" | 
					
						
							|  |  |  |     setupact-update-question | 
					
						
							| 
									
										
										
										
											2022-02-17 09:31:45 +01:00
										 |  |  |   elif [ $pc_date -eq 5 ]; then | 
					
						
							| 
									
										
										
										
											2022-02-17 11:12:53 +01:00
										 |  |  |      echo "Friday" | 
					
						
							|  |  |  |     setupact-update-question | 
					
						
							| 
									
										
										
										
											2022-02-17 09:31:45 +01:00
										 |  |  |   else     | 
					
						
							| 
									
										
										
										
											2022-02-17 11:12:53 +01:00
										 |  |  |     setupact-no-update-info | 
					
						
							| 
									
										
										
										
											2022-02-17 09:31:45 +01:00
										 |  |  |   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:                                                                                                                              # | 
					
						
							|  |  |  | ############################################################################################################################################################### | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-17 11:12:53 +01:00
										 |  |  | # 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 | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2022-02-17 09:31:45 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ############################################################################################################################################################### | 
					
						
							|  |  |  | # THE INSTALLATION PROGRAM IS STARTED HERE:                                                                                                                   # | 
					
						
							|  |  |  | ############################################################################################################################################################### | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-17 11:12:53 +01:00
										 |  |  | setupact-progressbar |