From 0e7af38d06339287d8ffe72bdd7af4d5e7e0001d Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Fri, 27 Mar 2009 22:33:04 +0100 Subject: Make 'cgg-dirgen' more flexible in option parsing --- src/cgg-dirgen | 83 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 67 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/cgg-dirgen b/src/cgg-dirgen index 44dd256..a56289f 100755 --- a/src/cgg-dirgen +++ b/src/cgg-dirgen @@ -2,27 +2,81 @@ ## Cataract Gallery Generator - a simple static web photo gallery ## cgg-dirgen - Directory index.xml generator ## Copyright (C) 2008 Tomas Bzatek -## +## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License ## as published by the Free Software Foundation; either version 2 ## of the License, or any later version. -## +## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. -## +## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ## -## Optional arguments (must be in order, for now): -## -d Use preview pictures from the "preview" folder -## -o Do not include original image (removes link to original size) -## -t Generate thumbnails from the "thumbnails" folder +PREVIEW=no +PREVIEW_PATH="preview" +NO_FULLSIZE=no +EXT_THUMB=no +EXT_THUMB_PATH="thumbnails" + +print_help() +{ + echo "Usage: cgg-dirgen [OPTION...] > index.xml" + echo "" + echo "Options:" + echo " -?, --help Show help options" + echo " -d, --preview [dir] Use supplied preview (web page) images" + echo " - takes optional [dir] argument (default=\"preview\")" + echo " -o, --nofullsize Do not copy original (full size) image" + echo " - deprecated, use global tag" + echo " -t, --thumbnails [dir] Use supplied thumbnails" + echo " - takes optional [dir] argument (default=\"thumbnails\")" +} + + +# Gather arguments + +while [[ $1 = -* ]]; do + case "$1" in + -d|--preview) + PREVIEW=yes + shift + if [[ ! $1 == -* && ! "x$1" == "x" ]]; then + PREVIEW_PATH="$1" + shift + fi + ;; + -o|--nofullsize) + NO_FULLSIZE=yes + shift + ;; + -t|--thumbnails) + EXT_THUMB=yes + shift + if [[ ! $1 == -* && ! "x$1" == "x" ]]; then + EXT_THUMB_PATH="$1" + shift + fi + ;; + -h|--help|-\?) + print_help + exit + ;; + *) + echo "Error: Unknown option: $1" >&2 + exit 1 + ;; + esac +done + + +# Write index file cat << XML_HEADER_STOP @@ -33,22 +87,19 @@ cat << XML_HEADER_STOP ]]> - + XML_HEADER_STOP for i in `find -L . -maxdepth 1 -type f -iname '*.jpg' -or -iname '*.jpeg' -or -iname '*.gif' -or -iname '*.png' | sort`; do INCL=""; - INCL2=""; - INCL3=""; - if [ "$1" = "-d" ]; then INCL=" preview=\"preview/`echo $i | cut -b 3-`\""; fi - if [ "$2" = "-o" ]; then INCL2=" \n"; fi - if [ "$3" = "-t" ]; then INCL3=" thumbnail=\"thumbnails/`echo $i | cut -b 3-`\""; fi - echo -e " \n${INCL2} \n \n \n"; + if [ ${PREVIEW} == "yes" ]; then INCL=" preview=\"${PREVIEW_PATH}/`echo $i | cut -b 3-`\""; fi + if [ ${EXT_THUMB} == "yes" ]; then INCL+=" thumbnail=\"${EXT_THUMB_PATH}/`echo $i | cut -b 3-`\""; fi + if [ ${NO_FULLSIZE} == "yes" ]; then INCL+=">\n \n \n \n \n"; done - + cat << XML_FOOTER_STOP XML_FOOTER_STOP - -- cgit v1.2.3