mirror of
				https://gitea.blesmrt.net/mikaela/scripts.git
				synced 2025-11-04 03:17:32 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
# Quick syncplay wrapper
 | 
						|
 | 
						|
set -x
 | 
						|
export LC_ALL=C.utf8
 | 
						|
 | 
						|
if [ -f "/tmp/syncplay.$(id -u).$(date -I)" ]; then
 | 
						|
	echo "Syncplay has been touched today"
 | 
						|
else
 | 
						|
	# If syncplay doesn't exist, get it
 | 
						|
	if [ ! -d "$HOME/src/github.com/syncplay" ]; then
 | 
						|
		mkdir -p ~/src/github.com/syncplay/syncplay
 | 
						|
		git clone https://github.com/syncplay/syncplay.git ~/src/github.com/syncplay/syncplay || exit
 | 
						|
		mkdir -p ~/src/github.com/syncplay/syncplay/venv
 | 
						|
	else
 | 
						|
		# In this case Syncplay does exist, let's upgrade it
 | 
						|
		cd ~/src/github.com/syncplay/syncplay || exit
 | 
						|
		git pull || exit
 | 
						|
		mkdir -p venv
 | 
						|
	fi
 | 
						|
 | 
						|
	# Let's ensure we have venv setup. Spellcheck complains if I won't || exit
 | 
						|
	# every cd, which I understand to mean in failure case terminate the script.
 | 
						|
	cd ~/src/github.com/syncplay/syncplay || exit
 | 
						|
	python3 -m venv venv || exit
 | 
						|
	# Switch to the venv
 | 
						|
	. ~/src/github.com/syncplay/syncplay/venv/bin/activate
 | 
						|
 | 
						|
	# pip will complain if it has updates available, so it must be updated
 | 
						|
	# and the syncplay requirements should be up-to-date too.
 | 
						|
	pip3 install pip --upgrade
 | 
						|
	pip3 install -r requirements.txt --upgrade
 | 
						|
	pip3 install -r requirements_gui.txt --upgrade
 | 
						|
	touch /tmp/syncplay.$(id -u).$(date -I)
 | 
						|
fi
 | 
						|
 | 
						|
# finally launch the syncplay with any flags specified
 | 
						|
. ~/src/github.com/syncplay/syncplay/venv/bin/activate
 | 
						|
~/src/github.com/syncplay/syncplay/syncplayClient.py "$@"
 | 
						|
# my syncplay launcher says this is a terminal app, so in case something goes
 | 
						|
# wrong, let it stay open for a moment for me to see what.
 | 
						|
sleep 5
 | 
						|
set +x
 |