X-Git-Url: https://git.sommitrealweird.co.uk/bpgallery.git/blobdiff_plain/8403b5c39a11ca27ca154ce2f9898a7dfe0dbae0..4e9ad17280e911da8026f21269285aed622de238:/bpgallery.sh diff --git a/bpgallery.sh b/bpgallery.sh index 9e4b64c..f6fdfed 100755 --- a/bpgallery.sh +++ b/bpgallery.sh @@ -19,7 +19,7 @@ set -f -VERSION="1.0.1+arch" +VERSION="1.0.2+arch" function bpgallery_default_head() { cat </dev/null fi +if [[ -e $1 && -d $1 && -e $1/.bpgallery.rc ]]; then + . $1/.bpgallery.rc 2>/dev/null +fi + if [[ -z ${BPGALLERY_THEME} ]]; then BPGALLERY_THEME=default fi @@ -268,8 +272,28 @@ Version: $VERSION END } +function generate_thumbs() { + $ECHOCOMMAND "Generating Thumbnails" + currentimage=0 + totalimages=$($FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --replace $ECHOCOMMAND {} | $WCCOMMAND); + imagestoupdate=$($FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --replace $ECHOCOMMAND {} | while read filename; do filename=${filename//\"/\\\"}; if [ ! -r "icons/$filename" ] || [ "$filename" -nt "icons/$filename" ] || [ $($IDENTIFYCOMMAND -format "%w" "icons/$filename") -ne $WIDTH ]; then $ECHOCOMMAND $filename; fi; done | $WCCOMMAND) + + if [ $totalimages -eq $imagestoupdate ]; then + $ECHOCOMMAND "Regenerating all thumbnails" + elif [ $imagestoupdate -eq 0 ]; then + $ECHOCOMMAND "No Updated Thumbs, not regenerating" + return + else + $ECHOCOMMAND "Generating $imagestoupdate of $totalimages thumbnails" + fi + + $FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --replace $ECHOCOMMAND {} | while read filename; do tempfilename=${filename//\"/\\\"/}; if [ ! -r "icons/$tempfilename" ] || [ "$tempfilename" -nt "icons/$tempfilename" ] || [ $($IDENTIFYCOMMAND -format "%w" "icons/$filename") -ne $WIDTH ]; then $ECHOCOMMAND -n $filename; $ECHOCOMMAND -n -e "\000"; fi; done | $XARGSCOMMAND -0 --verbose --max-procs=4 --replace $CONVERTTOOL -resize $WIDTH '{}' 'icons/{}' 2>&1 | while read throwout; do $ECHOCOMMAND done: $currentimage/$imagestoupdate images; currentimage=$((currentimage+1)); done + $ECHOCOMMAND done: $imagestoupdate/$imagestoupdate images + $ECHOCOMMAND "Completed generating thumbs for $totalimages images" +} + if [[ -z $1 ]]; then - echo "No path given" + $ECHOCOMMAND "No path given" usage exit 1 fi @@ -285,7 +309,7 @@ if [[ "$1" == "--version" || "$1" == "-v" ]]; then fi if [[ ! -d $1 ]]; then - echo "$1 is not a directory" + $ECHOCOMMAND "$1 is not a directory" usage exit 2 fi @@ -293,33 +317,16 @@ fi cd "$1" if ( ! $FINDCOMMAND . $FINDIMAGESOPTIONS > /dev/null 2>/dev/null ); then - echo "$1 does not contain any images. Quitting." + $ECHOCOMMAND "$1 does not contain any images. Quitting." exit 4 fi if [ ! -d icons ]; then mkdir icons - - totalimages=$($FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --replace echo {} | $WCCOMMAND); - currentimage=0 - - $FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --verbose --max-procs=4 --replace $CONVERTTOOL -resize $WIDTH '{}' 'icons/{}' 2>&1 | while read throwout; do $ECHOCOMMAND done: $currentimage/$totalimages images; currentimage=$((currentimage+1)); done - - echo done: $totalimages/$totalimages images -else - echo "$1 already contains an icons folder, updating." - - imagestoupdate=$($FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --replace $ECHOCOMMAND {} | while read filename; do filename=${filename//\"/\\\"}; if [ ! -r "icons/$filename" ] || [ "$filename" -nt "icons/$filename" ] || [ $($IDENTIFYCOMMAND -format "%w" "icons/$filename") -ne $WIDTH ]; then $ECHOCOMMAND $filename; fi; done | $WCCOMMAND) - - echo "images to update: $imagestoupdate" - - - currentimage=0 - - $FINDCOMMAND . $FINDIMAGESOPTIONS | $XARGSCOMMAND -0 --replace $ECHOCOMMAND {} | while read filename; do tempfilename=${filename//\"/\\\"/}; if [ ! -r "icons/$tempfilename" ] || [ "$tempfilename" -nt "icons/$tempfilename" ] || [ $($IDENTIFYCOMMAND -format "%w" "icons/$filename") -ne $WIDTH ]; then $ECHOCOMMAND -n $filename; $ECHOCOMMAND -n -e "\000"; fi; done | $XARGSCOMMAND -0 --verbose --max-procs=4 --replace $CONVERTTOOL -resize $WIDTH '{}' 'icons/{}' 2>&1 | while read throwout; do $ECHOCOMMAND done: $currentimage/$imagestoupdate images; currentimage=$((currentimage+1)); done - echo done: $imagestoupdate/$imagestoupdate images fi +generate_thumbs + if [ -r description.txt ] ; then DESCRIPTION=$($SEDCOMMAND -e '1 { s/^/

/; }; /^$/ { s,$,

,; }; $ { s,$,

, };' description.txt) else