function is_local { local HOSTNAME="$(hostname)" [[ "$HOSTNAME" =~ '^abra0' || "$HOSTNAME" == "svxf2-osx" ]] } function publish { FUNCTION_PRELUDE rsync2 "$@" "dedi:/var/www/abra.me/list/" } function twitch { FUNCTION_PRELUDE livestreamer "http://www.twitch.tv/${1}" "${${@:2}:-best}" } function dcp { FUNCTION_PRELUDE git add --all :/ git commit -m "${*:-$(whoami) at $(date)}" git push } function .dcp { FUNCTION_PRELUDE .g add -u .g commit -m "${*:-$(whoami) at $(date)}" .g push } function strip-tags { FUNCTION_PRELUDE find . -type f -name '*.mp3' \ | tr '\n' '\0' \ | xargs -0 -n1 mid3v2 --delete-frames=TXXX,USLT,TIPL,UFID,APIC,TBPM,TCMP,TDOR,TDRC,TLAN,TMED,TPOS,TPUB,TRCK,TCON } function dedi-beet { FUNCTION_PRELUDE ssh dedi -- sudo -u torrent-user beet "$@" } function beet-comments { FUNCTION_PRELUDE : "${1:?who?}" : "${2:?what?}" dedi-beet modify \'"comments=$2"\' \'"albumartist::$1"\' } function rsync2 { rsync \ --info=PROGRESS2 \ --progress \ --recursive \ --compress \ --human-readable \ --update \ --times \ --no-whole-file \ --itemize-changes \ --stats \ --verbose \ --links \ "${(@)@}" } function sync-music { FUNCTION_PRELUDE # if ! is_local; then # echo "Should be local" # return 1 # fi mkdir -p "$HOME/music/library" rsync2 \ --delete \ "dedi:/home/torrent-user/music-library/" \ "$HOME/music/library/" } # function .g-init() { # git init --bare $HOME/.dotgit # .g config --local status.showUntrackedFiles no # .g remote add origin ssh://dedi/root/.dotgit # git config --global user.name "Your Name" # git config --global user.email you@example.com # .g remote add origin ssh://dedi/var/www/git.abra.me/dot.git # } # make_user() { # FUNCTION_PRELUDE # if is_local; then # echo "You're local" # return 1 # fi # adduser --system --shell /bin/zsh --disabled-password $1 || return 1 # # wget abra.me/.dotfiles.tar.gz -O /home/$1/.dotfiles.tar.gz # # tar xf /home/$1/.dotfiles.tar.gz -C /home/$1 # # chown $1:nogroup -R /home/$1/ # } # function latest() { # echo -n ("${(@f)$(ls *(om[1,$1]))}") # } function testo { local A="${@[2,3]}" ./t.py ${(t)A} "$A" ${A[@]} unset A local A=("$@[2,3]") ./t.py ${(t)A} "$A" ${A[@]} unset A ./t.py "$@[2,3]" } # testo 1 "2 3" 4 # shit shit shit s hist h is htisthsi 2018-06-30 function ffmpeg_timelapse { FUNCTION_PRELUDE local DATE="$1" ls "/mnt/a/snaps/$DATE" | wc -l ffmpeg \ -framerate 60 \ -pattern_type glob -i "/mnt/a/snaps/$DATE/*.jpg" \ "${@:2}" \ -y "/mnt/a/tmp/$DATE.mp4" mv "/mnt/a/tmp/$DATE.mp4" "/mnt/a/$DATE.mp4" rm -rf "/mnt/a/snaps/$DATE" } function ffmpeg_timelapse_today { local TODAY="$(date '+%Y-%m-%d')" ffmpeg_timelapse "$TODAY" -preset ultrafast -crf 20 } function update_.g { if [[ ! -d "$HOME/.dotgit" ]]; then # no git to update return fi local RES="$(.g pull --no-stat 2>&1)" if [[ $? != 0 ]]; then # something went wrong return fi if [[ ! $RES =~ "Already up.to.date" ]]; then echo "Updated .g" echo $RES echo "======" echo zshreload #test fi }