| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| function render_setThemes { |
| |
| local -a DIRS |
| local COUNT=0 |
| local NEXTDIR='' |
| local MOTIF_NAME='' |
| local MOTIF_DIR='' |
| |
| |
| |
| local MOTIF_BASEDIR="${TCAR_WORKDIR}/Identity/Images/Themes" |
| |
| |
| |
| local MODEL_BASEDIR="${TCAR_WORKDIR}/Identity/Models/Themes" |
| |
| |
| render_setThemesDirStructure "${MODEL_BASEDIR}/${FLAG_THEME_MODEL}" "${MOTIF_BASEDIR}" |
| |
| |
| |
| |
| |
| |
| |
| local MODEL_DIR='' |
| local MODEL_DIRS="$(cli_getFilesList ${MODEL_BASEDIR}/${FLAG_THEME_MODEL} \ |
| --pattern='^.+/[^.svn][[:alnum:]_/-]+$' --type="d" \ |
| | sed -e "s!^.*/${FLAG_THEME_MODEL}!!" \ |
| -e '/^[[:space:]]*$/d' \ |
| -e 's!^/!!')" |
| |
| |
| |
| local MODEL_PATTERN=$(echo "$MODEL_DIRS" | tr "\n" '|' \ |
| | sed -e 's!^|!!' -e 's!|$!!') |
| |
| |
| |
| local MOTIF_PATTERN=$(cli_getPathComponent --motif-pattern) |
| |
| |
| |
| |
| |
| |
| |
| |
| local MOTIF_RENDERABLE_DIR='' |
| local MOTIF_RENDERABLE_DIRS=$(cli_getFilesList ${MOTIF_BASEDIR} \ |
| --pattern="^${TCAR_WORKDIR}/${MOTIF_PATTERN}/($MODEL_PATTERN)$" --type="d" \ |
| | grep "$(echo ${ACTIONVAL} | sed -r 's,/$,,')") |
| |
| |
| |
| |
| if [[ -z ${MOTIF_RENDERABLE_DIRS} ]];then |
| cli_printMessage "`gettext "No related model was found for the path provided."`" --as-error-line |
| fi |
| |
| |
| |
| |
| for MOTIF_RENDERABLE_DIR in $MOTIF_RENDERABLE_DIRS;do |
| DIRS[((++${#DIRS[*]}))]=${MOTIF_RENDERABLE_DIR} |
| done |
| |
| |
| |
| |
| local DIRS_TOTAL=$((${#DIRS[*]} - 1)) |
| |
| while [[ $COUNT -le ${DIRS_TOTAL} ]];do |
| |
| |
| |
| ACTIONVAL=${DIRS[$COUNT]} |
| |
| |
| MOTIF_NAME=$(cli_getPathComponent $ACTIONVAL --motif) |
| |
| |
| |
| |
| |
| |
| |
| |
| if [[ $MOTIF_NAME == '' ]] || [[ $MOTIF_NAME =~ "^($MODEL_PATTERN)" ]];then |
| COUNT=$(($COUNT + 1)) |
| continue |
| fi |
| |
| |
| |
| |
| |
| MOTIF_DIR="${MOTIF_BASEDIR}/${MOTIF_NAME}" |
| |
| |
| |
| |
| if [[ $COUNT -lt ${DIRS_TOTAL} ]];then |
| NEXTDIR=$(dirname ${DIRS[(($COUNT + 1))]}) |
| else |
| NEXTDIR='' |
| fi |
| |
| |
| |
| |
| |
| |
| if [[ $ACTIONVAL =~ '[[:digit:]]$' ]] || [[ $ACTIONVAL == $NEXTDIR ]];then |
| COUNT=$(($COUNT + 1)) |
| continue |
| fi |
| |
| |
| |
| render_setBaseRendition |
| |
| |
| COUNT=$(($COUNT + 1)) |
| |
| done |
| |
| } |