From 1ba06628977bd110482fd9614ecb3f6a383256e1 Mon Sep 17 00:00:00 2001 From: Alain Reguera Delgado Date: Jan 09 2014 21:26:07 +0000 Subject: Merge branch 'tcar-scripts-hello' --- diff --git a/Scripts/Documentation/Manpages/Locales/en_US/tcar-hello.asciidoc.po b/Scripts/Documentation/Manpages/Locales/en_US/tcar-hello.asciidoc.po new file mode 100644 index 0000000..b0558b4 --- /dev/null +++ b/Scripts/Documentation/Manpages/Locales/en_US/tcar-hello.asciidoc.po @@ -0,0 +1,225 @@ +msgid "" +msgstr "" +"Project-Id-Version: hello.asciidoc 0.6\n" +"POT-Creation-Date: 2013-11-07 14:34-0500\n" +"PO-Revision-Date: 2013-11-07 14:34-0500\n" +"Last-Translator: Localization SIG \n" +"Language-Team: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "hello" +msgstr "hello" + +msgid "1" +msgstr "1" + +msgid "Print out greetings and exit successfully." +msgstr "Print out greetings and exit successfully." + +msgid "centos-art hello [OPTIONS]" +msgstr "centos-art hello [OPTIONS]" + +msgid "Description" +msgstr "Description" + +msgid "" +"The hello module is very " +"simple. Its main purpose is to print out the “Hello, World!” " +"greeting to standard output and exit successfully. You can use " +"options to change the greeting message and the way it is printed " +"out. The hello module provides " +"a very simple example you can use as base to understand how modules " +"work inside centos-art.sh " +"script. You can this understanding to start writing your own " +"modules for centos-art.sh " +"script." +msgstr "" +"The hello module is very " +"simple. Its main purpose is to print out the “Hello, World!” " +"greeting to standard output and exit successfully. You can use " +"options to change the greeting message and the way it is printed " +"out. The hello module provides " +"a very simple example you can use as base to understand how modules " +"work inside centos-art.sh " +"script. You can this understanding to start writing your own " +"modules for centos-art.sh " +"script." + +msgid "Options" +msgstr "Options" + +msgid "" +"The hello module accepts the " +"following options:" +msgstr "" +"The hello module accepts the " +"following options:" + +msgid "-h | --help" +msgstr "-h | --help" + +msgid "Print out module's documentation." +msgstr "Print out module's documentation." + +msgid "-v | --version" +msgstr "-v | --version" + +msgid "Print out module's version and legal status." +msgstr "Print out module's version and legal status." + +msgid "-d | --debug" +msgstr "-d | --debug" + +msgid "" +"Run the script in debugging mode. This option is very useful if you " +"want to get a closer look to module environments being executed and " +"destroyed at run-time." +msgstr "" +"Run the script in debugging mode. This option is very useful if you " +"want to get a closer look to module environments being executed and " +"destroyed at run-time." + +msgid "-g \"TEXT\" | --greeting=\"TEXT\"" +msgstr "-g \"TEXT\" | --greeting=\"TEXT\"" + +msgid "" +"Set a different greeting message to be printed out. This option " +"accepts a value as argument. The text you provide must not have " +"empty spaces on it. By default, when you don't provide this option, " +"hello module prints out " +"“Hello, World” as greeting. If translations of this message are " +"available for your locale, they will be printed instead." +msgstr "" +"Set a different greeting message to be printed out. This option " +"accepts a value as argument. The text you provide must not have " +"empty spaces on it. By default, when you don't provide this option, " +"hello module prints out " +"“Hello, World” as greeting. If translations of this message are " +"available for your locale, they will be printed instead." + +msgid "-l | --lower" +msgstr "-l | --lower" + +msgid "" +"Print greeting message in lowercase. The final output is printed " +"out all in one line." +msgstr "" +"Print greeting message in lowercase. The final output is printed " +"out all in one line." + +msgid "-u | --upper" +msgstr "-u | --upper" + +msgid "" +"Print greeting message in uppercase. The final output is printed " +"out all in one line." +msgstr "" +"Print greeting message in uppercase. The final output is printed " +"out all in one line." + +msgid "-c | --camel" +msgstr "-c | --camel" + +msgid "" +"Print greeting messages in camel-case (e.g., \"HeLlO, WoRlD!\"). " +"The output is printed out one character per line. This might not " +"have sense but it helps to describe how execution of sibling " +"modules work. Notice that, when printing final output, punctuation " +"marks doesn't count for formating." +msgstr "" +"Print greeting messages in camel-case (e.g., \"HeLlO, WoRlD!\"). " +"The output is printed out one character per line. This might not " +"have sense but it helps to describe how execution of sibling " +"modules work. Notice that, when printing final output, punctuation " +"marks doesn't count for formating." + +msgid "-r | --random" +msgstr "-r | --random" + +msgid "" +"Print letters of a greeting message in a random order (e.g., " +"rdodldrl!,,!). The final output is printed out one character per " +"line. This might not have sense but it helps to describe how " +"recursive execution of sibling modules work." +msgstr "" +"Print letters of a greeting message in a random order (e.g., " +"rdodldrl!,,!). The final output is printed out one character per " +"line. This might not have sense but it helps to describe how " +"recursive execution of sibling modules work." + +msgid "Exit Status" +msgstr "Exit Status" + +msgid "" +"The hello module ends its " +"execution with one of the following exit status:" +msgstr "" +"The hello module ends its " +"execution with one of the following exit status:" + +msgid "0 — Exit successfully without errors." +msgstr "0 — Exit successfully without errors." + +msgid "1 — Exit with errors." +msgstr "1 — Exit with errors." + +msgid "Authors" +msgstr "Authors" + +msgid "" +"The hello module has received " +"contribution from the following people:" +msgstr "" +"The hello module has received " +"contribution from the following people:" + +msgid "" +"Alain Reguera Delgado <al@centos.org.cu>, 2013" +msgstr "" +"Alain Reguera Delgado <al@centos.org.cu>, 2013" + +msgid "Copyright" +msgstr "Copyright" + +msgid "Copyright © 2009-2013 The CentOS Artwork SIG" +msgstr "Copyright © 2009-2013 The CentOS Artwork SIG" + +msgid "" +"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 (at your option) any later version." +msgstr "" +"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 (at your option) any later version." + +msgid "" +"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." +msgstr "" +"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." + +msgid "" +"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., 675 Mass Ave, Cambridge, MA 02139, USA." +msgstr "" +"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., 675 Mass Ave, Cambridge, MA 02139, USA." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +msgid "translator-credits" +msgstr "translator-credits" diff --git a/Scripts/Documentation/Manpages/tcar-hello.asciidoc b/Scripts/Documentation/Manpages/tcar-hello.asciidoc new file mode 100644 index 0000000..5da90ad --- /dev/null +++ b/Scripts/Documentation/Manpages/tcar-hello.asciidoc @@ -0,0 +1,103 @@ +tcar-hello(1) +======== + +Name +---- + +tcar-hello - Print out greetings and exit successfully. + +Synopsis +-------- + +*centos-art tcar-hello [OPTIONS]* + +Description +----------- + +The *tcar-hello* module is very simple. Its main purpose is to print +out the ``Hello, World!'' greeting to standard output and exit +successfully. You can use options to change the greeting message and +the way it is printed out. The *tcar-hello* module provides a very +simple example you can use as base to understand how modules work +inside *tcar.sh* script. You can this understanding to start writing +your own modules for *tcar.sh* script. + +Options +------- + +The *tcar-hello* module accepts the following options: + +*-h | --help*:: + Print out module's documentation. + +*-v | --version*:: + Print out module's version and legal status. + +*-d | --debug*:: + Run the script in debugging mode. This option is very useful if + you want to get a closer look to module environments being + executed and destroyed at run-time. + +*-g "TEXT" | --greeting="TEXT"*:: + Set a different greeting message to be printed out. This option + accepts a value as argument. The text you provide must not have + empty spaces on it. By default, when you don't provide this + option, *tcar-hello* module prints out ``Hello, World'' as + greeting. If translations of this message are available for your + locale, they will be printed instead. + +*-l | --lower*:: + Print greeting message in lowercase. The final output is printed + out all in one line. + +*-u | --upper*:: + Print greeting message in uppercase. The final output is printed + out all in one line. + +*-c | --camel*:: + Print greeting messages in camel-case (e.g., "HeLlO, WoRlD!"). + The output is printed out one character per line. This might not + have sense but it helps to describe how execution of sibling + modules work. Notice that, when printing final output, punctuation + marks doesn't count for formating. + +*-r | --random*:: + Print letters of a greeting message in a random order (e.g., + rdodldrl!,,!). The final output is printed out one character per + line. This might not have sense but it helps to describe how + recursive execution of sibling modules work. + +Exit Status +----------- + +The *tcar-hello* module ends its execution with one of the following +exit status: + +* 0 -- Exit successfully without errors. +* 1 -- Exit with errors. + +Author +------- + +Written by Alain Reguera Delgado + +Copyright +--------- + +Copyright (C) 2014 The CentOS Artwork SIG + +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 (at +your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. + +// vim: set syntax=asciidoc: diff --git a/Scripts/Documentation/Manpages/tcar-hello.conf b/Scripts/Documentation/Manpages/tcar-hello.conf new file mode 100644 index 0000000..da0b8e6 --- /dev/null +++ b/Scripts/Documentation/Manpages/tcar-hello.conf @@ -0,0 +1,7 @@ +[tcar-hello] +render-type = "asciidoc" +render-flow = "manpage" +render-from = "tcar-hello.asciidoc" +locale-from = "Locales/${TCAR_SCRIPT_LANG_LC}/tcar-hello.asciidoc.po" +formats = "xhtml manpage" +mansect = "1" diff --git a/Scripts/Locales/es_ES/tcar-hello.sh.po b/Scripts/Locales/es_ES/tcar-hello.sh.po new file mode 100644 index 0000000..ca9fb03 --- /dev/null +++ b/Scripts/Locales/es_ES/tcar-hello.sh.po @@ -0,0 +1,16 @@ +msgid "" +msgstr "" +"Project-Id-Version: hello.sh 0.6\n" +"Report-Msgid-Bugs-To: centos-l10n-es@centos.org.cu\n" +"POT-Creation-Date: 2013-10-07 14:20-0400\n" +"PO-Revision-Date: 2013-10-07 14:20-0400\n" +"Last-Translator: Localization SIG \n" +"Language-Team: Spanish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Automation/Modules/Hello/hello.sh:30 +msgid "Hello, World!" +msgstr "¡Hola, Mundo!" diff --git a/Scripts/Modules/Hello/Modules/Output/Modules/Camel/camel.sh b/Scripts/Modules/Hello/Modules/Output/Modules/Camel/camel.sh new file mode 100755 index 0000000..73aeb75 --- /dev/null +++ b/Scripts/Modules/Hello/Modules/Output/Modules/Camel/camel.sh @@ -0,0 +1,66 @@ +#!/bin/bash +###################################################################### +# +# tcar - The CentOS Artwork Repository automation tool. +# Copyright © 2014 The CentOS Artwork SIG +# +# 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 (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# Alain Reguera Delgado +# 39 Street No. 4426 Cienfuegos, Cuba. +# +###################################################################### + +# Print greeting messages in camel-case (e.g., "HeLlO, WoRlD!"). The +# output is printed out one character per line. This might not have +# sense but it helps to describe how execution of sibling modules +# work. Notice that, when printing final output, punctuation marks +# doesn't count for formating. +function camel { + + local GREETING_CAMEL=1 + local GREETING_OFFSET=0 + local GREETING_CHARS=${#HELLO_WORLD} + local GREETING_MESSAGE=${HELLO_WORLD} + + while [[ ${GREETING_OFFSET} -lt ${GREETING_CHARS} ]]; do + + local HELLO_WORLD=${GREETING_MESSAGE:${GREETING_OFFSET}:1} + + if [[ ${GREETING_MESSAGE:${GREETING_OFFSET}:1} =~ '[[:alpha:]]' ]];then + + if [[ ${GREETING_CAMEL} -eq 1 ]];then + tcar_setModuleEnvironment -m 'upper' -t 'sibling' + GREETING_CAMEL=0 + else + tcar_setModuleEnvironment -m 'lower' -t 'sibling' + GREETING_CAMEL=1 + fi + + else + + if [[ ${GREETING_MESSAGE:${GREETING_OFFSET}:1} =~ ' ' ]];then + HELLO_WORLD='·' + fi + + tcar_printMessage "${HELLO_WORLD}" --as-stdout-line + + fi + + GREETING_OFFSET=$(( ${GREETING_OFFSET} + 1 )) + + done + +} diff --git a/Scripts/Modules/Hello/Modules/Output/Modules/Lower/lower.sh b/Scripts/Modules/Hello/Modules/Output/Modules/Lower/lower.sh new file mode 100755 index 0000000..92e42df --- /dev/null +++ b/Scripts/Modules/Hello/Modules/Output/Modules/Lower/lower.sh @@ -0,0 +1,33 @@ +#!/bin/bash +###################################################################### +# +# tcar - The CentOS Artwork Repository automation tool. +# Copyright © 2014 The CentOS Artwork SIG +# +# 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 (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# Alain Reguera Delgado +# 39 Street No. 4426 Cienfuegos, Cuba. +# +###################################################################### + +# Print greeting message in lowercase. The final output is printed out +# all in one line. +function lower { + + local GREETING=$(echo ${HELLO_WORLD} | tr '[[:upper:]]' '[[:lower:]]') + tcar_printMessage "${GREETING}" --as-stdout-line + +} diff --git a/Scripts/Modules/Hello/Modules/Output/Modules/Random/random.sh b/Scripts/Modules/Hello/Modules/Output/Modules/Random/random.sh new file mode 100755 index 0000000..877f401 --- /dev/null +++ b/Scripts/Modules/Hello/Modules/Output/Modules/Random/random.sh @@ -0,0 +1,45 @@ +#!/bin/bash +###################################################################### +# +# tcar - The CentOS Artwork Repository automation tool. +# Copyright © 2014 The CentOS Artwork SIG +# +# 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 (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# Alain Reguera Delgado +# 39 Street No. 4426 Cienfuegos, Cuba. +# +###################################################################### + +# Print letters of a greeting message in a random order (e.g., +# rdodldrl!,,!). The final output is printed out one character per +# line. This might not have sense but it helps to describe how +# recursive execution of sibling modules work. +function random { + + local MESSAGE=${HELLO_WORLD} + local MAXCHAR=${#MESSAGE} + local COUNT=${1:-0} + local OFFSET=${RANDOM}; let "OFFSET %= ${MAXCHAR}" + + tcar_printMessage "${MESSAGE:${OFFSET}:1}" --as-stdout-line + + COUNT=$(( ${COUNT} + 1)) + + if [[ ${COUNT} -lt ${MAXCHAR} ]];then + tcar_setModuleEnvironment -m random -t sibling -g "${COUNT}" + fi + +} diff --git a/Scripts/Modules/Hello/Modules/Output/Modules/Upper/upper.sh b/Scripts/Modules/Hello/Modules/Output/Modules/Upper/upper.sh new file mode 100755 index 0000000..2c6563b --- /dev/null +++ b/Scripts/Modules/Hello/Modules/Output/Modules/Upper/upper.sh @@ -0,0 +1,33 @@ +#!/bin/bash +###################################################################### +# +# tcar - The CentOS Artwork Repository automation tool. +# Copyright © 2014 The CentOS Artwork SIG +# +# 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 (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# Alain Reguera Delgado +# 39 Street No. 4426 Cienfuegos, Cuba. +# +###################################################################### + +# Print greeting message in uppercase. The final output is printed out +# all in one line. +function upper { + + local GREETING=$(echo ${HELLO_WORLD} | tr '[[:lower:]]' '[[:upper:]]') + tcar_printMessage "${GREETING}" --as-stdout-line + +} diff --git a/Scripts/Modules/Hello/Modules/Output/output.sh b/Scripts/Modules/Hello/Modules/Output/output.sh new file mode 100755 index 0000000..cac0bbb --- /dev/null +++ b/Scripts/Modules/Hello/Modules/Output/output.sh @@ -0,0 +1,36 @@ +#!/bin/bash +###################################################################### +# +# tcar - The CentOS Artwork Repository automation tool. +# Copyright © 2014 The CentOS Artwork SIG +# +# 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 (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# Alain Reguera Delgado +# 39 Street No. 4426 Cienfuegos, Cuba. +# +###################################################################### + +# Select how to output the greeting message, based on the options you +# provided in the command-line. +function output { + + local ACTION='' + + for ACTION in ${ACTIONS};do + tcar_setModuleEnvironment -m "${ACTION}" -t 'child' + done + +} diff --git a/Scripts/Modules/Hello/hello.sh b/Scripts/Modules/Hello/hello.sh new file mode 100755 index 0000000..e9133ab --- /dev/null +++ b/Scripts/Modules/Hello/hello.sh @@ -0,0 +1,48 @@ +#!/bin/bash +###################################################################### +# +# tcar - The CentOS Artwork Repository automation tool. +# Copyright © 2014 The CentOS Artwork SIG +# +# 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 (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# Alain Reguera Delgado +# 39 Street No. 4426 Cienfuegos, Cuba. +# +###################################################################### + +# Print greeting messages and exit successfully. +function hello { + + # Define default greeting message. + local HELLO_WORLD="`gettext "Hello, World!"`" + + # Define actions variable. Here is where actions related to + # module-specific options are stored in for further processing. + local ACTIONS='' + + # Interpret module-specific options and store related actions. + hello_getOptions + + # Print greeting message + if [[ -z ${ACTIONS} ]];then + # Using parent module. + tcar_printMessage "${HELLO_WORLD}" --as-stdout-line + else + # Using child module. + tcar_setModuleEnvironment -m 'output' -t 'child' + fi + +} diff --git a/Scripts/Modules/Hello/hello_getOptions.sh b/Scripts/Modules/Hello/hello_getOptions.sh new file mode 100755 index 0000000..6e3f244 --- /dev/null +++ b/Scripts/Modules/Hello/hello_getOptions.sh @@ -0,0 +1,90 @@ +#!/bin/bash +###################################################################### +# +# tcar - The CentOS Artwork Repository automation tool. +# Copyright © 2014 The CentOS Artwork SIG +# +# 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 (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# Alain Reguera Delgado +# 39 Street No. 4426 Cienfuegos, Cuba. +# +###################################################################### + +# Interpret module-specific options for hello. +function hello_getOptions { + + # Define short options we want to support. + local ARGSS="h::,v,g:,l,u,c,r" + + # Define long options we want to support. + local ARGSL="help::,version,greeting:,lower,upper,camel,random" + + # Redefine arguments using getopt(1) command parser. + tcar_setModuleArguments + + # Reset positional parameters on this function, using output + # produced from (getopt) arguments parser. + eval set -- "${TCAR_MODULE_ARGUMENT}" + + # Look for options passed through command-line. + while true; do + case "${1}" in + + -h | --help ) + tcar_printHelp "${2}" + ;; + + -v | --version ) + tcar_printVersion "${TCAR_MODULE_NAME}" + ;; + + -g | --greeting ) + HELLO_WORLD="${2:-${HELLO_WORLD}}" + shift 2 + ;; + + -l | --lower ) + ACTIONS="lower ${ACTIONS}" + shift 1 + ;; + + -u | --upper ) + ACTIONS="upper ${ACTIONS}" + shift 1 + ;; + + -c | --camel ) + ACTIONS="camel ${ACTIONS}" + shift 1 + ;; + + -r | --random ) + ACTIONS="random ${ACTIONS}" + shift 1 + ;; + + -- ) + shift 1 + break + ;; + esac + done + + # Redefine arguments using current positional parameters. Only + # paths should remain as arguments, at this point. + TCAR_MODULE_ARGUMENT="${@}" + +} diff --git a/tcar-scripts-hello-docs/Manpages/Locales/en_US/hello.asciidoc.po b/tcar-scripts-hello-docs/Manpages/Locales/en_US/hello.asciidoc.po deleted file mode 100644 index b0558b4..0000000 --- a/tcar-scripts-hello-docs/Manpages/Locales/en_US/hello.asciidoc.po +++ /dev/null @@ -1,225 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: hello.asciidoc 0.6\n" -"POT-Creation-Date: 2013-11-07 14:34-0500\n" -"PO-Revision-Date: 2013-11-07 14:34-0500\n" -"Last-Translator: Localization SIG \n" -"Language-Team: English\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "hello" -msgstr "hello" - -msgid "1" -msgstr "1" - -msgid "Print out greetings and exit successfully." -msgstr "Print out greetings and exit successfully." - -msgid "centos-art hello [OPTIONS]" -msgstr "centos-art hello [OPTIONS]" - -msgid "Description" -msgstr "Description" - -msgid "" -"The hello module is very " -"simple. Its main purpose is to print out the “Hello, World!” " -"greeting to standard output and exit successfully. You can use " -"options to change the greeting message and the way it is printed " -"out. The hello module provides " -"a very simple example you can use as base to understand how modules " -"work inside centos-art.sh " -"script. You can this understanding to start writing your own " -"modules for centos-art.sh " -"script." -msgstr "" -"The hello module is very " -"simple. Its main purpose is to print out the “Hello, World!” " -"greeting to standard output and exit successfully. You can use " -"options to change the greeting message and the way it is printed " -"out. The hello module provides " -"a very simple example you can use as base to understand how modules " -"work inside centos-art.sh " -"script. You can this understanding to start writing your own " -"modules for centos-art.sh " -"script." - -msgid "Options" -msgstr "Options" - -msgid "" -"The hello module accepts the " -"following options:" -msgstr "" -"The hello module accepts the " -"following options:" - -msgid "-h | --help" -msgstr "-h | --help" - -msgid "Print out module's documentation." -msgstr "Print out module's documentation." - -msgid "-v | --version" -msgstr "-v | --version" - -msgid "Print out module's version and legal status." -msgstr "Print out module's version and legal status." - -msgid "-d | --debug" -msgstr "-d | --debug" - -msgid "" -"Run the script in debugging mode. This option is very useful if you " -"want to get a closer look to module environments being executed and " -"destroyed at run-time." -msgstr "" -"Run the script in debugging mode. This option is very useful if you " -"want to get a closer look to module environments being executed and " -"destroyed at run-time." - -msgid "-g \"TEXT\" | --greeting=\"TEXT\"" -msgstr "-g \"TEXT\" | --greeting=\"TEXT\"" - -msgid "" -"Set a different greeting message to be printed out. This option " -"accepts a value as argument. The text you provide must not have " -"empty spaces on it. By default, when you don't provide this option, " -"hello module prints out " -"“Hello, World” as greeting. If translations of this message are " -"available for your locale, they will be printed instead." -msgstr "" -"Set a different greeting message to be printed out. This option " -"accepts a value as argument. The text you provide must not have " -"empty spaces on it. By default, when you don't provide this option, " -"hello module prints out " -"“Hello, World” as greeting. If translations of this message are " -"available for your locale, they will be printed instead." - -msgid "-l | --lower" -msgstr "-l | --lower" - -msgid "" -"Print greeting message in lowercase. The final output is printed " -"out all in one line." -msgstr "" -"Print greeting message in lowercase. The final output is printed " -"out all in one line." - -msgid "-u | --upper" -msgstr "-u | --upper" - -msgid "" -"Print greeting message in uppercase. The final output is printed " -"out all in one line." -msgstr "" -"Print greeting message in uppercase. The final output is printed " -"out all in one line." - -msgid "-c | --camel" -msgstr "-c | --camel" - -msgid "" -"Print greeting messages in camel-case (e.g., \"HeLlO, WoRlD!\"). " -"The output is printed out one character per line. This might not " -"have sense but it helps to describe how execution of sibling " -"modules work. Notice that, when printing final output, punctuation " -"marks doesn't count for formating." -msgstr "" -"Print greeting messages in camel-case (e.g., \"HeLlO, WoRlD!\"). " -"The output is printed out one character per line. This might not " -"have sense but it helps to describe how execution of sibling " -"modules work. Notice that, when printing final output, punctuation " -"marks doesn't count for formating." - -msgid "-r | --random" -msgstr "-r | --random" - -msgid "" -"Print letters of a greeting message in a random order (e.g., " -"rdodldrl!,,!). The final output is printed out one character per " -"line. This might not have sense but it helps to describe how " -"recursive execution of sibling modules work." -msgstr "" -"Print letters of a greeting message in a random order (e.g., " -"rdodldrl!,,!). The final output is printed out one character per " -"line. This might not have sense but it helps to describe how " -"recursive execution of sibling modules work." - -msgid "Exit Status" -msgstr "Exit Status" - -msgid "" -"The hello module ends its " -"execution with one of the following exit status:" -msgstr "" -"The hello module ends its " -"execution with one of the following exit status:" - -msgid "0 — Exit successfully without errors." -msgstr "0 — Exit successfully without errors." - -msgid "1 — Exit with errors." -msgstr "1 — Exit with errors." - -msgid "Authors" -msgstr "Authors" - -msgid "" -"The hello module has received " -"contribution from the following people:" -msgstr "" -"The hello module has received " -"contribution from the following people:" - -msgid "" -"Alain Reguera Delgado <al@centos.org.cu>, 2013" -msgstr "" -"Alain Reguera Delgado <al@centos.org.cu>, 2013" - -msgid "Copyright" -msgstr "Copyright" - -msgid "Copyright © 2009-2013 The CentOS Artwork SIG" -msgstr "Copyright © 2009-2013 The CentOS Artwork SIG" - -msgid "" -"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 (at your option) any later version." -msgstr "" -"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 (at your option) any later version." - -msgid "" -"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." -msgstr "" -"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." - -msgid "" -"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., 675 Mass Ave, Cambridge, MA 02139, USA." -msgstr "" -"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., 675 Mass Ave, Cambridge, MA 02139, USA." - -#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. -msgid "translator-credits" -msgstr "translator-credits" diff --git a/tcar-scripts-hello-docs/Manpages/hello.asciidoc b/tcar-scripts-hello-docs/Manpages/hello.asciidoc deleted file mode 100644 index 3143a5c..0000000 --- a/tcar-scripts-hello-docs/Manpages/hello.asciidoc +++ /dev/null @@ -1,106 +0,0 @@ -hello(1) -======== - -Name ----- - -hello - Print out greetings and exit successfully. - -Synopsis --------- - -*centos-art hello [OPTIONS]* - -Description ------------ - -The *hello* module is very simple. Its main purpose is to print out -the ``Hello, World!'' greeting to standard output and exit -successfully. You can use options to change the greeting message and -the way it is printed out. The *hello* module provides a very simple -example you can use as base to understand how modules work inside -*centos-art.sh* script. You can this understanding to start writing -your own modules for *centos-art.sh* script. - -Options -------- - -The *hello* module accepts the following options: - -*-h | --help*:: - Print out module's documentation. - -*-v | --version*:: - Print out module's version and legal status. - -*-d | --debug*:: - Run the script in debugging mode. This option is very useful if - you want to get a closer look to module environments being - executed and destroyed at run-time. - -*-g "TEXT" | --greeting="TEXT"*:: - Set a different greeting message to be printed out. This option - accepts a value as argument. The text you provide must not have - empty spaces on it. By default, when you don't provide this - option, *hello* module prints out ``Hello, World'' as greeting. If - translations of this message are available for your locale, they - will be printed instead. - -*-l | --lower*:: - Print greeting message in lowercase. The final output is printed - out all in one line. - -*-u | --upper*:: - Print greeting message in uppercase. The final output is printed - out all in one line. - -*-c | --camel*:: - Print greeting messages in camel-case (e.g., "HeLlO, WoRlD!"). - The output is printed out one character per line. This might not - have sense but it helps to describe how execution of sibling - modules work. Notice that, when printing final output, punctuation - marks doesn't count for formating. - -*-r | --random*:: - Print letters of a greeting message in a random order (e.g., - rdodldrl!,,!). The final output is printed out one character per - line. This might not have sense but it helps to describe how - recursive execution of sibling modules work. - -Exit Status ------------ - -The *hello* module ends its execution with one of the following exit -status: - -* 0 -- Exit successfully without errors. -* 1 -- Exit with errors. - -Authors -------- - -The *hello* module has received contribution from the following -people: - -* Alain Reguera Delgado , 2013 - -Copyright ---------- - -Copyright (C) 2009-2013 The CentOS Artwork SIG - -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 (at -your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -// vim: set syntax=asciidoc: diff --git a/tcar-scripts-hello-docs/Manpages/render.conf b/tcar-scripts-hello-docs/Manpages/render.conf deleted file mode 100644 index f01d586..0000000 --- a/tcar-scripts-hello-docs/Manpages/render.conf +++ /dev/null @@ -1,7 +0,0 @@ -[hello] -render-type = "asciidoc" -render-flow = "manpage" -render-from = "hello.asciidoc" -locale-from = "Locales/${TCAR_SCRIPT_LANG_LC}/hello.asciidoc.po" -formats = "xhtml manpage" -mansect = "1" diff --git a/tcar-scripts-hello/Locales/es_ES/hello.sh.po b/tcar-scripts-hello/Locales/es_ES/hello.sh.po deleted file mode 100644 index ca9fb03..0000000 --- a/tcar-scripts-hello/Locales/es_ES/hello.sh.po +++ /dev/null @@ -1,16 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: hello.sh 0.6\n" -"Report-Msgid-Bugs-To: centos-l10n-es@centos.org.cu\n" -"POT-Creation-Date: 2013-10-07 14:20-0400\n" -"PO-Revision-Date: 2013-10-07 14:20-0400\n" -"Last-Translator: Localization SIG \n" -"Language-Team: Spanish\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: Automation/Modules/Hello/hello.sh:30 -msgid "Hello, World!" -msgstr "¡Hola, Mundo!" diff --git a/tcar-scripts-hello/Modules/Output/Modules/Camel/camel.sh b/tcar-scripts-hello/Modules/Output/Modules/Camel/camel.sh deleted file mode 100755 index 44997f6..0000000 --- a/tcar-scripts-hello/Modules/Output/Modules/Camel/camel.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/bash -###################################################################### -# -# camel.sh -- Print greeting messages in camel-case (e.g., "HeLlO, -# WoRlD!"). The output is printed out one character per line. This -# might not have sense but it helps to describe how execution of -# sibling modules work. Notice that, when printing final output, -# punctuation marks doesn't count for formating. -# -# Written by: -# * Alain Reguera Delgado , 2013 -# -# Copyright (C) 2009-2013 The CentOS Artwork SIG -# -# 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 (at -# your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. -# -###################################################################### - -function camel { - - local GREETING_CAMEL=1 - local GREETING_OFFSET=0 - local GREETING_CHARS=${#HELLO_WORLD} - local GREETING_MESSAGE=${HELLO_WORLD} - - while [[ ${GREETING_OFFSET} -lt ${GREETING_CHARS} ]]; do - - local HELLO_WORLD=${GREETING_MESSAGE:${GREETING_OFFSET}:1} - - if [[ ${GREETING_MESSAGE:${GREETING_OFFSET}:1} =~ '[[:alpha:]]' ]];then - - if [[ ${GREETING_CAMEL} -eq 1 ]];then - tcar_setModuleEnvironment -m 'upper' -t 'sibling' - GREETING_CAMEL=0 - else - tcar_setModuleEnvironment -m 'lower' -t 'sibling' - GREETING_CAMEL=1 - fi - - else - - if [[ ${GREETING_MESSAGE:${GREETING_OFFSET}:1} =~ ' ' ]];then - HELLO_WORLD='·' - fi - - tcar_printMessage "${HELLO_WORLD}" --as-stdout-line - - fi - - GREETING_OFFSET=$(( ${GREETING_OFFSET} + 1 )) - - done - -} diff --git a/tcar-scripts-hello/Modules/Output/Modules/Lower/lower.sh b/tcar-scripts-hello/Modules/Output/Modules/Lower/lower.sh deleted file mode 100755 index d1b82a9..0000000 --- a/tcar-scripts-hello/Modules/Output/Modules/Lower/lower.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -###################################################################### -# -# lower.sh -- Print greeting message in lowercase. The final output -# is printed out all in one line. -# -# Written by: -# * Alain Reguera Delgado , 2013 -# -# Copyright (C) 2009-2013 The CentOS Artwork SIG -# -# 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 (at -# your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. -# -###################################################################### - -function lower { - - local GREETING=$(echo ${HELLO_WORLD} | tr '[[:upper:]]' '[[:lower:]]') - tcar_printMessage "${GREETING}" --as-stdout-line - -} diff --git a/tcar-scripts-hello/Modules/Output/Modules/Random/random.sh b/tcar-scripts-hello/Modules/Output/Modules/Random/random.sh deleted file mode 100755 index d63b2d7..0000000 --- a/tcar-scripts-hello/Modules/Output/Modules/Random/random.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash -###################################################################### -# -# random.sh -- Print letters of a greeting message in a random order -# (e.g., rdodldrl!,,!). The final output is printed out one -# character per line. This might not have sense but it helps to -# describe how recursive execution of sibling modules work. -# -# Written by: -# * Alain Reguera Delgado , 2013 -# -# Copyright (C) 2009-2013 The CentOS Artwork SIG -# -# 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 (at -# your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. -# -###################################################################### - -function random { - - local MESSAGE=${HELLO_WORLD} - local MAXCHAR=${#MESSAGE} - local COUNT=${1:-0} - local OFFSET=${RANDOM}; let "OFFSET %= ${MAXCHAR}" - - tcar_printMessage "${MESSAGE:${OFFSET}:1}" --as-stdout-line - - COUNT=$(( ${COUNT} + 1)) - - if [[ ${COUNT} -lt ${MAXCHAR} ]];then - tcar_setModuleEnvironment -m random -t sibling -g "${COUNT}" - fi - -} diff --git a/tcar-scripts-hello/Modules/Output/Modules/Upper/upper.sh b/tcar-scripts-hello/Modules/Output/Modules/Upper/upper.sh deleted file mode 100755 index 77e7c3e..0000000 --- a/tcar-scripts-hello/Modules/Output/Modules/Upper/upper.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -###################################################################### -# -# upper.sh -- Print greeting message in uppercase. The final output -# is printed out all in one line. -# -# Written by: -# * Alain Reguera Delgado , 2013 -# -# Copyright (C) 2009-2013 The CentOS Artwork SIG -# -# 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 (at -# your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. -# -###################################################################### - -function upper { - - local GREETING=$(echo ${HELLO_WORLD} | tr '[[:lower:]]' '[[:upper:]]') - tcar_printMessage "${GREETING}" --as-stdout-line - -} diff --git a/tcar-scripts-hello/Modules/Output/output.sh b/tcar-scripts-hello/Modules/Output/output.sh deleted file mode 100755 index 247c783..0000000 --- a/tcar-scripts-hello/Modules/Output/output.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -###################################################################### -# -# output.sh -- Selects how to output the greeting message, based on -# the options you provided in the command-line. -# -# Written by: -# * Alain Reguera Delgado , 2013 -# -# Copyright (C) 2009-2013 The CentOS Artwork SIG -# -# 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 (at -# your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. -# -###################################################################### - -function output { - - local ACTION='' - - for ACTION in ${ACTIONS};do - tcar_setModuleEnvironment -m "${ACTION}" -t 'child' - done - -} diff --git a/tcar-scripts-hello/hello.sh b/tcar-scripts-hello/hello.sh deleted file mode 100755 index dee253b..0000000 --- a/tcar-scripts-hello/hello.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -###################################################################### -# -# hello.sh -- Print greeting messages and exit successfully. -# -# Written by: -# * Alain Reguera Delgado , 2013 -# -# Copyright (C) 2009-2013 The CentOS Artwork SIG -# -# 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 (at -# your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. -# -###################################################################### - -function hello { - - # Define default greeting message. - local HELLO_WORLD="`gettext "Hello, World!"`" - - # Define actions variable. Here is where actions related to - # module-specific options are stored in for further processing. - local ACTIONS='' - - # Interpret module-specific options and store related actions. - hello_getOptions - - # Print greeting message - if [[ -z ${ACTIONS} ]];then - # Using parent module. - tcar_printMessage "${HELLO_WORLD}" --as-stdout-line - else - # Using child module. - tcar_setModuleEnvironment -m 'output' -t 'child' - fi - -} diff --git a/tcar-scripts-hello/hello_getOptions.sh b/tcar-scripts-hello/hello_getOptions.sh deleted file mode 100755 index 503640c..0000000 --- a/tcar-scripts-hello/hello_getOptions.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/bash -###################################################################### -# -# hello_getOptions.sh -- Interpret module-specific options for hello. -# -# Written by: -# * Alain Reguera Delgado , 2013 -# -# Copyright (C) 2009-2013 The CentOS Artwork SIG -# -# 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 (at -# your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA. -# -###################################################################### - -function hello_getOptions { - - # Define short options we want to support. - local ARGSS="h::,v,g:,l,u,c,r" - - # Define long options we want to support. - local ARGSL="help::,version,greeting:,lower,upper,camel,random" - - # Redefine arguments using getopt(1) command parser. - tcar_setModuleArguments - - # Reset positional parameters on this function, using output - # produced from (getopt) arguments parser. - eval set -- "${TCAR_MODULE_ARGUMENT}" - - # Look for options passed through command-line. - while true; do - case "${1}" in - - -h | --help ) - tcar_printHelp "${2}" - ;; - - -v | --version ) - tcar_printVersion "${TCAR_MODULE_NAME}" - ;; - - -g | --greeting ) - HELLO_WORLD="${2:-${HELLO_WORLD}}" - shift 2 - ;; - - -l | --lower ) - ACTIONS="lower ${ACTIONS}" - shift 1 - ;; - - -u | --upper ) - ACTIONS="upper ${ACTIONS}" - shift 1 - ;; - - -c | --camel ) - ACTIONS="camel ${ACTIONS}" - shift 1 - ;; - - -r | --random ) - ACTIONS="random ${ACTIONS}" - shift 1 - ;; - - -- ) - shift 1 - break - ;; - esac - done - - # Redefine arguments using current positional parameters. Only - # paths should remain as arguments, at this point. - TCAR_MODULE_ARGUMENT="${@}" - -}