Files
dotfiles/.zfunc
Andrey Anurin 201abd09c4 forgot to add
2018-08-08 13:29:17 +03:00

186 lines
3.1 KiB
Plaintext

is_local() {
[[ $(hostname) =~ '^abra0' ]]
}
publish() {
FUNCTION_PRELUDE
rsync2 "$@" "dedi:/var/www/abra.me/list/"
}
twitch() {
FUNCTION_PRELUDE
livestreamer "http://www.twitch.tv/${1}" "${${@:2}:-best}"
}
dcp() {
FUNCTION_PRELUDE
git add --all :/
git commit -m "${*:-$(whoami) at $(date)}"
git push
}
.dcp() {
FUNCTION_PRELUDE
.g add -u
.g commit -m "${*:-$(whoami) at $(date)}"
.g push
}
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
}
dedi-beet() {
FUNCTION_PRELUDE
ssh dedi -- sudo -u torrent-user beet "$@"
}
beet-comments() {
FUNCTION_PRELUDE
: "${1:?who?}"
: "${2:?what?}"
dedi-beet modify \'"comments=$2"\' \'"albumartist::$1"\'
}
rsync2() {
rsync \
--info=PROGRESS2 \
--progress \
--recursive \
--compress \
--human-readable \
--update \
--times \
--no-whole-file \
--itemize-changes \
--stats \
--verbose \
--links \
"${(@)@}"
}
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]))}")
# }
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
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"
}
ffmpeg_timelapse_today() {
local TODAY=$(date '+%Y-%m-%d')
ffmpeg_timelapse "$TODAY" -preset ultrafast -crf 20
}
add_dir_to_path() {
if [[ -d $1 ]]; then
export PATH="$1:$PATH"
fi
}
update_.g() {
if [[ ! -d "$HOME/.dotgit" ]]; then
# no git to update
return
fi
local RES=$(.g pull 2>&1)
if [[ $? != 0 ]]; then
# something went wrong
return
fi
if [[ ! ($RES =~ "Already up.to.date") ]]; then
echo "Updated .g"
echo $RES
echo "======"
echo
fi
}