59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/zsh
 | |
| source "$HOME/.config/wryn/env.zsh"
 | |
| source $ZSH_COLOR_UTIL
 | |
| 
 | |
| #####################################################################
 | |
| 
 | |
| case $1 in
 | |
| 	pull ) PULL=1 ;;
 | |
| 	push ) PUSH=1 ;;
 | |
| esac
 | |
| 
 | |
| case $2 in
 | |
| 	delete ) DELETE=1 ;; # whether or not to pass '--delete' to s3 sync
 | |
| 	# default is not to delete
 | |
| esac
 | |
| 
 | |
| [ ! $PULL ] && [ ! $PUSH ] && FATAL 'must specify "pull" or "push"'
 | |
| 
 | |
| #####################################################################
 | |
| 
 | |
| PULL_MEDIA() {
 | |
| 	local REMOTE_TARGET="s3://$S3_SYNC_BUCKET/$1"
 | |
| 	local LOCAL_TARGET="$HOME/$1"
 | |
| 	local FLAGS=()
 | |
| 
 | |
| 	[ ! -d $LOCAL_TARGET ] && mkdir -p $LOCAL_TARGET
 | |
| 
 | |
| 	local DELETE="$2"
 | |
| 	[ $DELETE ] && FLAGS+=--delete
 | |
| 
 | |
| 	CHECK "downloading latest $1"
 | |
| 	aws --profile $DOTWRYN_AWS_PROFILE \
 | |
| 		s3 sync $REMOTE_TARGET $LOCAL_TARGET \
 | |
| 		$FLAGS \
 | |
| 		&& OK || WARN
 | |
| }
 | |
| 
 | |
| PUSH_MEDIA() {
 | |
| 	local REMOTE_TARGET="s3://$S3_SYNC_BUCKET/$1"
 | |
| 	local LOCAL_TARGET="$HOME/$1"
 | |
| 	local FLAGS=()
 | |
| 
 | |
| 	local DELETE="$2"
 | |
| 	[ $DELETE ] && FLAGS+=--delete
 | |
| 
 | |
| 	CHECK "uploading $1"
 | |
| 	aws --profile $DOTWRYN_AWS_PROFILE \
 | |
| 		s3 sync $LOCAL_TARGET $REMOTE_TARGET \
 | |
| 		$FLAGS \
 | |
| 		&& OK || WARN
 | |
| }
 | |
| 
 | |
| 
 | |
| for m in $S3_SYNC_MEDIA
 | |
| do
 | |
| 	[ $PULL ] && PULL_MEDIA $m $DELETE
 | |
| 	[ $PUSH ] && PUSH_MEDIA $m $DELETE
 | |
| done
 |