Mercurial > dottes
view makeWebItems.sh @ 48:6f4667d1372d
Try to make web item updates atomic-ish.
The Jenkins workspace is exported as the web site. So when updating files
that take time, such as making MP3, create to a temp file and rename into place.
author | Jim Hague <jim.hague@laicatc.com> |
---|---|
date | Sun, 04 Mar 2012 16:09:06 +0000 |
parents | d92717f8130c |
children | 3464d5154f49 |
line wrap: on
line source
#!/bin/bash # # Make items required for the website but not for the book. # They go into web/<book>. # if [ $# != 1 ]; then echo "Usage: makeWebItems.sh <book dir name>" exit 1 fi dir=`pwd` booke=$dir/$1 builddir=$dir/web/$1 graphicsdir=$dir/graphics/$1 mkdir -p $builddir # Now, for each tune, make the tune JPG and sound. Do this to temp # files and rename into place to make updates as atomic as possible. find $booke -name "*.abc" | sort | while read filename do name=`basename $filename .abc` convert $graphicsdir/${name}.eps $builddir/${name}.jpg.tmp abc2midi $filename -o $builddir/${name}.mid.tmp timidity -Ow -o $builddir/${name}.wav.tmp $builddir/${name}.mid.tmp lame --quiet $builddir/${name}.wav.tmp $builddir/${name}.mp3.tmp mv $builddir/${name}.jpg.tmp $builddir/${name}.jpg mv $builddir/${name}.mid.tmp $builddir/${name}.mid mv $builddir/${name}.mp3.tmp $builddir/${name}.mp3 rm $builddir/${name}.wav.tmp done