Blame Scripts/Bash/Functions/Render/render_getFilesList.sh

4c79b5
#!/bin/bash
4c79b5
#
7f1fb7
# render_getFilesList.sh -- This function re-defines list of
4c79b5
# files that will be rendered using matching list and translation path
4c79b5
# information as reference.
4c79b5
#
7cd8e9
# Copyright (C) 2009, 2010 Alain Reguera Delgado
4c79b5
# 
7cd8e9
# This program is free software; you can redistribute it and/or
7cd8e9
# modify it under the terms of the GNU General Public License as
7cd8e9
# published by the Free Software Foundation; either version 2 of the
7cd8e9
# License, or (at your option) any later version.
4c79b5
# 
4c79b5
# This program is distributed in the hope that it will be useful, but
4c79b5
# WITHOUT ANY WARRANTY; without even the implied warranty of
4c79b5
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4c79b5
# General Public License for more details.
4c79b5
#
4c79b5
# You should have received a copy of the GNU General Public License
4c79b5
# along with this program; if not, write to the Free Software
4c79b5
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
4c79b5
# USA.
4c79b5
# 
4c79b5
# ----------------------------------------------------------------------
418249
# $Id$
4c79b5
# ----------------------------------------------------------------------
4c79b5
7f1fb7
function render_getFilesList {
4c79b5
8219f0
    # Define short options we want to support.
8219f0
    ARGSS=""
8219f0
8219f0
    # Define long options we want to support.
8219f0
    ARGSL="filter:"
8219f0
8219f0
    # Parse arguments using getopt(1) command parser.
8219f0
    cli_doParseArguments
8219f0
8219f0
    # Reset positional parameters using output from (getopt) argument
8219f0
    # parser.
8219f0
    eval set -- "$ARGUMENTS"
8219f0
8219f0
    # Define action to take for each option passed.
8219f0
    while true; do
8219f0
        case "$1" in
8219f0
            --filter )
8219f0
               REGEX="$2" 
8219f0
               shift 2
8219f0
               ;;
8219f0
            * )
8219f0
                break
8219f0
        esac
8219f0
    done
8219f0
7f1fb7
    # Define source location to look files for. In order to define
7f1fb7
    # source location we evaluate both matching list and translation
7f1fb7
    # path information, and based on them, we set which is the source
7f1fb7
    # location and extension used as reference to build list of file
7f1fb7
    # names (without extension) to process for.
4c79b5
    if [[ "${MATCHINGLIST}" != "" ]] \
4c79b5
        && [[ "${TRANSLATIONPATH}" == "" ]];then
4c79b5
4c79b5
        # Use design template as source location.
4c79b5
        LOCATION="$SVG"
4c79b5
        EXTENSION='svg'
4c79b5
4c79b5
    elif [[ "${MATCHINGLIST}" == "" ]] \
4c79b5
        && [[ "${TRANSLATIONPATH}" == "" ]];then
4c79b5
          
4c79b5
        # Use design template as source location.
4c79b5
        LOCATION="$SVG"
4c79b5
        EXTENSION='svg'
4c79b5
    
4c79b5
    elif [[ "${MATCHINGLIST}" == "" ]] \
4c79b5
        && [[ "${TRANSLATIONPATH}" != "" ]];then
4c79b5
        
4c79b5
        # Use translations as source location.
4c79b5
        LOCATION="${TRANSLATIONPATH}"
4c79b5
        EXTENSION='sed'
4c79b5
    
4c79b5
    elif [[ "${MATCHINGLIST}" != "" ]] \
4c79b5
        && [[ "${TRANSLATIONPATH}" != "" ]];then
4c79b5
    
4c79b5
        # Use translations as source location.
4c79b5
        LOCATION="${TRANSLATIONPATH}"
4c79b5
        EXTENSION='sed'
4c79b5
    
4c79b5
    fi
7f1fb7
    
1d64a6
    # Re-define filter string to apply.
4c79b5
    FILTER="^$LOCATION/${REGEX}.*\.${EXTENSION}$"
4c79b5
4c79b5
    # Re-define list of file to render using filter string.
4c79b5
    FILES=$(find $LOCATION -regextype posix-egrep -regex "$FILTER" | sort )
4c79b5
4c79b5
}