| This is a quick&dirty script that pushes pictures onto my web server, does
some sensible resizing, and fixes up some igal stupidities on the
way. (I only use it locally nowadays, with -foo.) |
|
#!/bin/bash
# settings
LOCALBASEDIR=`echo "/home/user/photo"`
REMOTEBASEDIR=`echo "/var/www/photos/"`
HTMLBASE=`echo "http://www.user.invalid/photos"`
REMOTEHOST=`echo "remote.user.invalid"`
QUALITY=`echo "60"`
CWD=`pwd`
if [ "$1" != "-foo" ]; then
echo -n "Input directory name: "
read DIRNAME
DIR=`echo "$LOCALBASEDIR/$DIRNAME"`
echo "Directory set to $DIR"
if [ -d "$DIR" ]; then
echo "$DIR already exists. Exiting."
exit `/bin/false`
fi
echo "$DIR does not exist. Attempting to create it..."
mkdir "$DIR" || exit `/bin/false`
cd "$DIR" || exit `/bin/false`
echo "$DIR created and cwd now"
gphoto2 -P && gphoto2 -D
fi
# make sure the extensions are what the rest of the script assumes
if [ ! -f "*.JPG" ]; then
for i in `ls -1 *.jpg`; do
NAME=`echo "$i" | sed s/"\.jpg"/"\.JPG"/g`
mv "$i" "$NAME"
done
fi
for i in `ls -1 *.JPG`; do
echo -n "downsizing $i.."
BASE=`echo "$i" | sed s/"\.JPG"//g`
convert -size 800x600 -quality "$QUALITY" "$i" -resize 800x600 "$BASE.jpg"
mv "$i" "$i.foo"
echo "done."
done
echo " "
echo "running igal.."
igal --www -as
echo " "
echo -n "fixing html-files.."
for i in `ls -1 *.html`; do
cat "$i" | sed s/"width\=\ "//g | sed s/"height\=\ "//g >"$i.new"
cat "$i.new" | sed s/"\(.P\ class..center.*\(.*\/.*\)\)"/"\1 (click on picture for original size)"/g >"$i"
# mv "$i.new" "$i"
done
echo "done."
set -e
DIRNAME=`pwd | sed s/".*\/"//g`
#ssh -x "$REMOTEHOST" mkdir "$REMOTEBASEDIR/$DIRNAME"
#scp -i *html .i* .s* .t* *.jpg *.css "$REMOTEHOST:$REMOTEBASEDIR/$DIRNAME"
mkdir "$REMOTEBASEDIR/$DIRNAME"
cp -v *html .i* .s* .t* *.jpg *.css "$REMOTEBASEDIR/$DIRNAME"
echo -n "cleaning up.."
rm *.jpg *.html .i* .s* .t*
for i in `ls -1 *.foo`; do
NAME=`echo "$i" | sed s/"\.foo"//g`
mv "$i" "$NAME"
done
echo "done"
echo "Copying original files..."
for i in `ls -1 *.JPG`; do
NAME=`echo "$i" | sed s/"\.JPG"/"\.jpg"/g`
mv "$i" "$NAME"
done
#ssh -x "$REMOTEHOST" mkdir "$REMOTEBASEDIR/$DIRNAME/orig"
#scp *.jpg "$REMOTEHOST:$REMOTEBASEDIR/$DIRNAME/orig/"
mkdir "$REMOTEBASEDIR/$DIRNAME/orig"
cp -v *.jpg "$REMOTEBASEDIR/$DIRNAME/orig/"
#ssh -x "$REMOTEHOST" chmod 755 "$REMOTEBASEDIR/$DIRNAME/orig"
#ssh -x "$REMOTEHOST" chmod 644 "$REMOTEBASEDIR/$DIRNAME/orig/*"
chmod 755 "$REMOTEBASEDIR/$DIRNAME/orig"
chmod 644 $REMOTEBASEDIR/$DIRNAME/orig/*
cd "$CWD"
echo " "
echo "copy/paste URL: $HTMLBASE/$DIRNAME/index.html"
echo " "
exit `/bin/true`