annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
43
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
1 #!/bin/bash
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
2 #
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
3 # Make items required for the website but not for the book.
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
4 # They go into web/<book>.
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
5 #
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
6
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
7 if [ $# != 1 ]; then
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
8 echo "Usage: makeWebItems.sh <book dir name>"
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
9 exit 1
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
10 fi
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
11
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
12 dir=`pwd`
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
13
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
14 booke=$dir/$1
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
15 builddir=$dir/web/$1
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
16 graphicsdir=$dir/graphics/$1
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
17
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
18 mkdir -p $builddir
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
19
48
6f4667d1372d Try to make web item updates atomic-ish.
Jim Hague <jim.hague@laicatc.com>
parents: 43
diff changeset
20 # Now, for each tune, make the tune JPG and sound. Do this to temp
6f4667d1372d Try to make web item updates atomic-ish.
Jim Hague <jim.hague@laicatc.com>
parents: 43
diff changeset
21 # files and rename into place to make updates as atomic as possible.
43
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
22 find $booke -name "*.abc" | sort |
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
23 while read filename
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
24 do
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
25 name=`basename $filename .abc`
48
6f4667d1372d Try to make web item updates atomic-ish.
Jim Hague <jim.hague@laicatc.com>
parents: 43
diff changeset
26 convert $graphicsdir/${name}.eps $builddir/${name}.jpg.tmp
43
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
27
48
6f4667d1372d Try to make web item updates atomic-ish.
Jim Hague <jim.hague@laicatc.com>
parents: 43
diff changeset
28 abc2midi $filename -o $builddir/${name}.mid.tmp
6f4667d1372d Try to make web item updates atomic-ish.
Jim Hague <jim.hague@laicatc.com>
parents: 43
diff changeset
29 timidity -Ow -o $builddir/${name}.wav.tmp $builddir/${name}.mid.tmp
6f4667d1372d Try to make web item updates atomic-ish.
Jim Hague <jim.hague@laicatc.com>
parents: 43
diff changeset
30 lame --quiet $builddir/${name}.wav.tmp $builddir/${name}.mp3.tmp
6f4667d1372d Try to make web item updates atomic-ish.
Jim Hague <jim.hague@laicatc.com>
parents: 43
diff changeset
31
6f4667d1372d Try to make web item updates atomic-ish.
Jim Hague <jim.hague@laicatc.com>
parents: 43
diff changeset
32 mv $builddir/${name}.jpg.tmp $builddir/${name}.jpg
6f4667d1372d Try to make web item updates atomic-ish.
Jim Hague <jim.hague@laicatc.com>
parents: 43
diff changeset
33 mv $builddir/${name}.mid.tmp $builddir/${name}.mid
6f4667d1372d Try to make web item updates atomic-ish.
Jim Hague <jim.hague@laicatc.com>
parents: 43
diff changeset
34 mv $builddir/${name}.mp3.tmp $builddir/${name}.mp3
6f4667d1372d Try to make web item updates atomic-ish.
Jim Hague <jim.hague@laicatc.com>
parents: 43
diff changeset
35 rm $builddir/${name}.wav.tmp
43
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
36 done
d92717f8130c First go at producing a very simple website.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
37