=====================================================================

Finally decided to port personal scripts into a standalone library.

--- Release Notes ------------------------

- added support for python, zsh, and zx scripts
- added support for "interactive" scripts which drop the user to a REPL
- added support for passing arguments to commands
- added support for python/node virtualenv management through scwrypts
- added contributing and usage docs
- updated zsh plugin to write commands to history
- licensed under GPLv3

--- New Scripts --------------------------

zsh/scwrypts )
  - configure
  - environment/copy
  - environment/delete
  - environment/edit
  - environment/synchronize
  - logs/clear
  - logs/view

zsh )
  - aws/ecr/login
  - aws/efs/mount
  - aws/efs/unmount
  - aws/route53/backup
  - aws/s3/media-sync/pull
  - aws/s3/media-sync/push

python )
  - redis/interactive
This commit is contained in:
2022-04-28 16:09:23 -06:00
commit bffd64051c
63 changed files with 2131 additions and 0 deletions

9
zsh/aws/s3/common.zsh Normal file
View File

@ -0,0 +1,9 @@
source ${0:a:h}/../common.zsh
__CHECK_DEPENDENCIES \
;
__CHECK_ENV_VARS \
;
#####################################################################

View File

@ -0,0 +1,34 @@
source ${0:a:h}/../common.zsh
__CHECK_DEPENDENCIES \
;
__CHECK_ENV_VARS \
AWS__S3__MEDIA_TARGETS \
AWS__S3__MEDIA_BUCKET \
;
AWS__S3__MEDIA_TARGETS=($(echo $AWS__S3__MEDIA_TARGETS | sed 's/,/\n/g'))
#####################################################################
__SYNC_MEDIA() {
local ACTION="$1"
local REMOTE_TARGET="s3://$AWS__S3__MEDIA_BUCKET/$2"
local LOCAL_TARGET="$HOME/$2"
local A B
case $ACTION in
push ) A="$LOCAL_TARGET"; B="$REMOTE_TARGET" ;;
pull ) A="$REMOTE_TARGET"; B="$LOCAL_TARGET" ;;
* ) __ERROR "unknown action '$1'"; return 1 ;;
esac
local FLAGS=(${@:3})
__STATUS "${ACTION}ing $2"
_AWS s3 sync $REMOTE_TARGET $LOCAL_TARGET $FLAGS \
&& __SUCCESS "$2 up-to-date" \
|| { __ERROR "unable to sync $2 (see above)"; return 1; }
}

26
zsh/aws/s3/media-sync/pull Executable file
View File

@ -0,0 +1,26 @@
#!/bin/zsh
source ${0:a:h}/common.zsh
__CHECK_IMPORTS
#####################################################################
__PULL_ALL_MEDIA() {
local FLAGS=($@)
local FAILED_COUNT=0
__STATUS 'starting media download from s3'
local TARGET
for TARGET in $AWS__S3__MEDIA_TARGETS
do
__SYNC_MEDIA pull $TARGET $FLAGS || ((FAILED_COUNT+=1))
done
[[ $FAILED_COUNT -eq 0 ]] \
&& __SUCCESS 'local media files now up-to-date' \
|| __FAIL $FAILED_COUNT 'unable to download one or more targets' \
;
}
#####################################################################
__PULL_ALL_MEDIA $@

26
zsh/aws/s3/media-sync/push Executable file
View File

@ -0,0 +1,26 @@
#!/bin/zsh
source ${0:a:h}/common.zsh
__CHECK_IMPORTS
#####################################################################
__PUSH_ALL_MEDIA() {
local FLAGS=($@)
local FAILED_COUNT=0
__STATUS 'starting media upload to s3'
local TARGET
for TARGET in $AWS__S3__MEDIA_TARGETS
do
__SYNC_MEDIA push $TARGET $FLAGS || ((FAILED_COUNT+=1))
done
[[ $FAILED_COUNT -eq 0 ]] \
&& __SUCCESS 's3 media files now up-to-date' \
|| __FAIL $FAILED_COUNT 'unable to upload one or more targets' \
;
}
#####################################################################
__PUSH_ALL_MEDIA $@