diff --git a/Scripts/Bash/Functions/Html/html_getActions.sh b/Scripts/Bash/Functions/Html/html_getActions.sh index 4ef6d51..a239b67 100755 --- a/Scripts/Bash/Functions/Html/html_getActions.sh +++ b/Scripts/Bash/Functions/Html/html_getActions.sh @@ -1,8 +1,7 @@ #!/bin/bash # -# html_getActions.sh -- This function initializes HTML string -# manipulation functionalities, using the action value of -# centos-art.sh script as reference. +# html_getActions.sh -- This function interprets arguments passed to +# `html' functionality and calls actions accordingly. # # Copyright (C) 2009, 2010 Alain Reguera Delgado # @@ -27,19 +26,70 @@ function html_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="f:" - '--update-headings' ) - # Update html headings to create table of content. - html_updateHeadings - ;; + # Define long options we want to support. + local ARGSL="filter:,update-headings:" - * ) - cli_printMessage "`gettext "The option provided is not valid."`" 'AsErrorLine' - ;; + # Parse arguments using getopt(1) command parser. + cli_doParseArguments - esac + # 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 + + --update-headings ) + + # Define action value passed through the command-line. + ACTIONVAL="$2" + + # Check action value passed through the command-line. + cli_checkRepoDirSource + + # Define action name using action value as reference. + ACTIONNAM="${FUNCNAM}_updateHeadings" + + # Look for sub-options passed through command-line. + while true; do + case "$3" in + -f|--filter ) + # Redefine regular expression. + REGEX="$4" + # Rotate positional parameters + shift 4 + ;; + * ) + # Break sub-options loop. + break + ;; + esac + done + + # Break options loop. + break + ;; + + * ) + break + esac + done + + # Verify action value variable. + if [[ $ACTIONVAL == '' ]];then + cli_printMessage "$(caller)" 'AsToKnowMoreLine' + fi + # Execute action name. + if [[ $ACTIONNAM =~ "^${FUNCNAM}_[A-Za-z]+$" ]];then + eval $ACTIONNAM + else + cli_printMessage "`gettext "A valid action is required."`" 'AsErrorLine' + cli_printMessage "$(caller)" 'AsToKnowMoreLine' + fi + } diff --git a/Scripts/Bash/Functions/Html/html_updateHeadings.sh b/Scripts/Bash/Functions/Html/html_updateHeadings.sh index 6981893..3a48c2a 100644 --- a/Scripts/Bash/Functions/Html/html_updateHeadings.sh +++ b/Scripts/Bash/Functions/Html/html_updateHeadings.sh @@ -57,32 +57,7 @@ function html_updateHeadings { # to save html action name, action value, and heading title. PATTERN="(]>)(.*[^<])" - # 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 html files only. + # Redefine regular expression to match html files only. REGEX=$(echo "${REGEX}.*\.(html|htm)") # Define list of files to process.