Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ## FAST THUMBNAIL GENERATION OF GIVEN DIRECTORIES (non-resursive, for nautilus, rox-filer, ...)
- # requirements: bash, perl, graphicsmagick, ffmpegthumbnailer, (readlink)
- # syntax: $0 dir [dir, ...]
- if [[ $# -le 0 ]]; then
- exit 0
- fi
- umask 177
- if ! [[ -d "$HOME/.thumbnails/normal" ]]; then
- mkdir -p "$HOME/.thumbnails/normal"
- mkdir -p "$HOME/.thumbnails/fail"
- find "$HOME/.thumbnails" -type d -exec chmod 0700 "{}" \;
- fi
- filedb=$(mktemp /tmp/.filedb.XXXXXXXX)
- xvlist=$(mktemp /tmp/.xvlist.XXXXXXXX)
- xplist=$(mktemp /tmp/.xplist.XXXXXXXX)
- find $(for i in "$@"; do test -d "$i" && readlink -f "$i"; done | sort -u) -mindepth 1 -maxdepth 1 -type f |
- file -0 --mime-type -p -r -f - | awk -F '\0' '$2 ~ /(video|image)\//' > $filedb
- awk -F '\0' '$2 ~ /video\// {printf("%s\0",$1)}' $filedb | perl -MDigest::MD5=md5_hex -e \
- '$/="\0"; while(<>){chomp; print "$_\0".$ENV{"HOME"}."/.thumbnails/normal/".md5_hex("file://$_").".png\0"}' > $xvlist
- if [[ -s $xvlist ]]; then
- xargs -a $xvlist -0 -n 2 -P 4 vids_thumbnailer
- fi
- awk -F '\0' '$2 ~ /image\// {printf("%s\0",$1)}' $filedb |
- perl -MDigest::MD5=md5_hex -e \
- '$/="\0"; while(<>){chomp; print "$_\0".$ENV{"HOME"}."/.thumbnails/normal/".md5_hex("file://$_").".png\0"}' > $xplist
- if [[ -s $xplist ]]; then
- xargs -a $xplist -0 -n 2 -P 4 pics_thumbnailer
- fi
- rm $xplist $xvlist $filedb
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement