Blame Scripts/Modules/Render/Modules/Files/Modules/Svg/Modules/Media/media.sh

Alain Reguera Delgado 8daea6
#!/bin/bash
Alain Reguera Delgado 8daea6
######################################################################
Alain Reguera Delgado 8daea6
#
Alain Reguera Delgado 8daea6
#   media.sh -- This module produces artwork for installation media.
Alain Reguera Delgado 8daea6
#
Alain Reguera Delgado 8daea6
#   Written by:
Alain Reguera Delgado 8daea6
#   * Alain Reguera Delgado <al@centos.org.cu>, 2009-2013
Alain Reguera Delgado 8daea6
#
Alain Reguera Delgado 8daea6
# Copyright (C) 2009-2013 The CentOS Artwork SIG
Alain Reguera Delgado 8daea6
#
Alain Reguera Delgado 8daea6
# This program is free software; you can redistribute it and/or modify
Alain Reguera Delgado 8daea6
# it under the terms of the GNU General Public License as published by
Alain Reguera Delgado 8daea6
# the Free Software Foundation; either version 2 of the License, or (at
Alain Reguera Delgado 8daea6
# your option) any later version.
Alain Reguera Delgado 8daea6
#
Alain Reguera Delgado 8daea6
# This program is distributed in the hope that it will be useful, but
Alain Reguera Delgado 8daea6
# WITHOUT ANY WARRANTY; without even the implied warranty of
Alain Reguera Delgado 8daea6
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Alain Reguera Delgado 8daea6
# General Public License for more details.
Alain Reguera Delgado 8daea6
#
Alain Reguera Delgado 8daea6
# You should have received a copy of the GNU General Public License
Alain Reguera Delgado 8daea6
# along with this program; if not, write to the Free Software
Alain Reguera Delgado 8daea6
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Alain Reguera Delgado 8daea6
#
Alain Reguera Delgado 8daea6
######################################################################
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
function media {
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
    local MEDIA_TYPE=$(tcar_getConfigValue "${CONFIGURATION}" "${SECTION}" 'media-type')
Alain Reguera Delgado 8daea6
    tcar_checkFiles -m '^[[:alnum:]]+$' "${MEDIA_TYPE}"
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
    local MEDIA_NUMBER=$(tcar_getConfigValue "${CONFIGURATION}" "${SECTION}" 'media-number')
Alain Reguera Delgado 8daea6
    tcar_checkFiles -m '^[[:digit:]]+$' "${MEDIA_NUMBER}"
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
    local MEDIA_RELEASE=$(tcar_getConfigValue "${CONFIGURATION}" "${SECTION}" 'media-release')
Alain Reguera Delgado 8daea6
    tcar_checkFiles -m '^[[:digit:].]+$' "${MEDIA_RELEASE}"
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
    local MEDIA_ARCH=$(tcar_getConfigValue "${CONFIGURATION}" "${SECTION}" 'media-arch')
Alain Reguera Delgado 8daea6
    tcar_checkFiles -m '^[[:alnum:]_-]+$' "${MEDIA_ARCH}"
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
    local MEDIA_SOURCES=${SOURCES[*]}
Alain Reguera Delgado 8daea6
    local MEDIA_SOURCES_MAX=${#SOURCES[*]}
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
    local MEDIA_NUMBER_CURRENT=1
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
    while [[ ${MEDIA_NUMBER_CURRENT} -le ${MEDIA_NUMBER} ]];do
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
        local COUNTER=0
Alain Reguera Delgado 8daea6
        local -a SOURCE_INSTANCES
Alain Reguera Delgado 8daea6
        local -a TARGET_INSTANCES
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
        for RELEASE in ${MEDIA_RELEASE};do
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
            for ARCH in ${MEDIA_ARCH};do
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
                for MEDIA_SOURCE in ${MEDIA_SOURCES};do
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
                    render_setInstances "${MEDIA_SOURCE}" '(svgz|svg)' 'svg'
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
                    render_setLocalizedXml "${MEDIA_SOURCE}" "${TARGET_INSTANCES[${COUNTER}]}"
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
                    sed -i -r -e "s/=MEDIUM=/${MEDIA_TYPE}/g" \
Alain Reguera Delgado 8daea6
                              -e "s/=CURRENT=/${MEDIA_NUMBER_CURRENT}/g" \
Alain Reguera Delgado 8daea6
                              -e "s/=RELEASE=/${RELEASE}/g" \
Alain Reguera Delgado 8daea6
                              -e "s/=ARCH=/${ARCH}/g" \
Alain Reguera Delgado 8daea6
                              -e "s/=LAST=/${MEDIA_NUMBER}/g" \
Alain Reguera Delgado 8daea6
                              ${TARGET_INSTANCES[${COUNTER}]}
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
                    RENDER_TARGET="$(dirname ${RENDER_TARGET})/${SECTION}-${RELEASE}-${ARCH}-${MEDIA_NUMBER_CURRENT}of${MEDIA_NUMBER}.png"
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
                    SOURCES[${COUNTER}]=${TARGET_INSTANCES[${COUNTER}]}
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
                    svg_setBaseRendition
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
                    rm ${TARGET_INSTANCES[${COUNTER}]}
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
                    if [[ ${MEDIA_SOURCES_MAX} -gt 1 ]];then
Alain Reguera Delgado 8daea6
                        COUNTER=$(( ${COUNTER} + 1 ))
Alain Reguera Delgado 8daea6
                    fi
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
                done
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
            done
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
        done
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
        MEDIA_NUMBER_CURRENT=$(( ${MEDIA_NUMBER_CURRENT} + 1 ))
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
    done 
Alain Reguera Delgado 8daea6
Alain Reguera Delgado 8daea6
}