201 lines
3.4 KiB
Bash
201 lines
3.4 KiB
Bash
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 save_stream {
|
|
FUNCTION_PRELUDE
|
|
|
|
local NAME=$1
|
|
|
|
if [[ ! -d $NAME ]]; then
|
|
echo ':('
|
|
return 1
|
|
fi
|
|
|
|
while true; do
|
|
local CURDATE=$(date +"%Y-%m-%d-%H:%M:%S")
|
|
livestreamer "https://twitch.tv/$NAME" -o "$NAME/$CURDATE.mp4" || true
|
|
sleep 30
|
|
done
|
|
}
|
|
|
|
|
|
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
|
|
fi
|
|
} |