From 905aacabf3c308bc4287a6af4350b68c28749bc8 Mon Sep 17 00:00:00 2001 From: Alain Reguera Delgado Date: Dec 28 2010 21:52:55 +0000 Subject: Update `svg' functionality: - Move command-line arguments interpretation from svg_updateMetadata.sh and svg_vacuumDefs.sh to svg_getActions.sh. --- diff --git a/Scripts/Bash/Functions/Svg/svg_getActions.sh b/Scripts/Bash/Functions/Svg/svg_getActions.sh index 72397da..67b0ae0 100755 --- a/Scripts/Bash/Functions/Svg/svg_getActions.sh +++ b/Scripts/Bash/Functions/Svg/svg_getActions.sh @@ -1,8 +1,7 @@ #!/bin/bash # -# svg_getActions.sh -- This function initializes SVG string -# manipulation functionalities, using the action value of -# centos-art.sh script as reference. +# svg_getActions.sh -- This function interpretes arguments passed to +# `svg' functionality and calls actions accordingly. # # Copyright (C) 2009, 2010 Alain Reguera Delgado # @@ -27,26 +26,121 @@ function svg_getActions { - # Evaluate action name and define which actions does centos-art.sh - # script supports. - case $ACTIONNAM in + # Define short options we want to support. + local ARGSS="" - '--update-metadata' ) - # Update metadata inside svg files using metadata - # templates. - svg_updateMetadata - ;; + # Define long options we want to support. + local ARGSL="update-metadata:,vacuum-defs:,filter:" - '--vacuum-defs' ) - # Remove unused items inside svg files. - svg_vacuumDefs - ;; + # Parse arguments using getopt(1) command parser. + cli_doParseArguments - * ) - cli_printMessage "`gettext "The option provided is not valid."`" 'AsErrorLine' - cli_printMessage "$(caller)" 'AsToKnowMoreLine' - ;; + # Reset positional parameters using output from (getopt) argument + # parser. + eval set -- "$ARGUMENTS" + + # Look for options passed through command-line. + while true; do + + case "$1" in + + --update-metadata ) + + # Define action value. + ACTIONVAL="$2" + + # Check action value. Be sure the action value matches + # the convenctions defined for source locations inside + # the working copy. + cli_checkRepoDirSource + + # Define action name using action value as reference. + ACTIONNAM="${FUNCNAM}_updateMetadata" + + # Look for sub-options passed through command-line. + while true; do + + case "$3" in + + --filter ) + + # Redefine regular expression. + REGEX="$4" + + # Rotate positional parameters. + shift 4 + ;; + + * ) + # Break sub-options loop. + break + ;; + esac + done + + # Break options loop. + break + ;; + + --vacuum-defs ) + + # Define action value. + ACTIONVAL="$2" + + # Check action value. Be sure the action value matches + # the convenctions defined for source locations inside + # the working copy. + cli_checkRepoDirSource + + # Define action name using action value as reference. + ACTIONNAM="${FUNCNAM}_vacuumDefs" + + # Look for sub-options passed through command-line. + while true; do + + case "$3" in + + --filter ) + + # Redefine regular expression. + REGEX="$4" + + # Rotate positional parameters. + shift 4 + ;; + + * ) + # Break sub-options loop. + break + ;; + esac + done + + # Break options loop. + break + ;; + + * ) + # Break options loop. + break + esac + done + + # Verify action value variable. + if [[ $ACTIONVAL == '' ]];then + cli_printMessage "$(caller)" 'AsToKnowMoreLine' + fi + + # Re-define regular expression to match scalable vector graphic + # files only. + REGEX=$(echo "${REGEX}.*\.(svgz|svg)") + + # Execute action name. + if [[ $ACTIONNAM =~ "^${FUNCNAM}_[A-Za-z]+$" ]];then + eval $ACTIONNAM + else + cli_printMessage "`eval_gettext "A valid action is required."`" 'AsErrorLine' + cli_printMessage "$(caller)" 'AsToKnowMoreLine' + fi - esac - } diff --git a/Scripts/Bash/Functions/Svg/svg_updateMetadata.sh b/Scripts/Bash/Functions/Svg/svg_updateMetadata.sh index ac1edf6..d982c21 100755 --- a/Scripts/Bash/Functions/Svg/svg_updateMetadata.sh +++ b/Scripts/Bash/Functions/Svg/svg_updateMetadata.sh @@ -144,35 +144,6 @@ function svg_updateMetadata { done - # Define short options we want to support. - local ARGSS="" - - # Define long options we want to support. - local ARGSL="filter:" - - # Parse arguments using getopt(1) command parser. - cli_doParseArguments - - # Reset positional parameters using output from (getopt) argument - # parser. - eval set -- "$ARGUMENTS" - - # Define action to take for each option passed. - while true; do - case "$1" in - --filter ) - REGEX="$2" - shift 2 - ;; - * ) - break - esac - done - - # Re-define regular expression to match scalable vector graphic - # files only. - REGEX=$(echo "${REGEX}.*\.(svgz|svg)") - # Define list of files to process. cli_getFilesList diff --git a/Scripts/Bash/Functions/Svg/svg_vacuumDefs.sh b/Scripts/Bash/Functions/Svg/svg_vacuumDefs.sh index 9ed17cd..364febf 100755 --- a/Scripts/Bash/Functions/Svg/svg_vacuumDefs.sh +++ b/Scripts/Bash/Functions/Svg/svg_vacuumDefs.sh @@ -26,35 +26,6 @@ function svg_vacuumDefs { - # Define short options we want to support. - local ARGSS="" - - # Define long options we want to support. - local ARGSL="filter:" - - # Parse arguments using getopt(1) command parser. - cli_doParseArguments - - # Reset positional parameters using output from (getopt) argument - # parser. - eval set -- "$ARGUMENTS" - - # Define action to take for each option passed. - while true; do - case "$1" in - --filter ) - REGEX="$2" - shift 2 - ;; - * ) - break - esac - done - - # Re-define regular expression to match scalable vector graphic - # files only. - REGEX=$(echo "${REGEX}.*\.(svgz|svg)") - # Define list of files to process. cli_getFilesList