awips2/edexOsgi/com.raytheon.uf.tools.cli/impl/textdb

99 lines
3.6 KiB
Text
Raw Normal View History

2022-05-05 12:34:50 -05:00
#!/bin/bash
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
##############################################################################
# Provides a simple wrapper to the TextDB Python module allowing that module
# to be executed as a command line tool without requiring the .py extension.
# This is intended to preserve the AWIPS I textdb utility's command line
# interface. The bulk of the functionality is provided by the the TextDB.py
# module.
#
# Critical: the first line of this file must point to a valid AWIPS II
# provided installation of Python.
#
# SOFTWARE HISTORY
#
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# 10/28/08 1584 mfegan Initial Creation.
# 01/14/09 1652 mfegan Converted to BASH script.
# 06/05/09 2453 mfegan Remove "./" paths.
# 12/21/09 2493 mfegan Remove export of LD_PRELOAD.
# 08/06/10 2187 cjeanbap Add OPERATIONAL_MODE functionality,
# updated path.
# 09/28/10 6980 bkowal Updated LD_LIBRARY_PATH to
# include path to python lib.
# 11/02/12 1236 dgilling Add --forcepractice flag to
# bypass test mode check.
# 05/09/12 16215 m.gamazaychikov Added quotes around $flag.
##############################################################################
# this allows you to run this script from outside of ./bin
path_to_script=`readlink -f $0`
RUN_FROM_DIR=`dirname $path_to_script`
BASE_AWIPS_DIR=`dirname $RUN_FROM_DIR`
# source the env
source ${RUN_FROM_DIR}/setup.env
# setup the environment needed to run the the Python
export LD_LIBRARY_PATH=${BASE_AWIPS_DIR}/src/lib:${PYTHON_INSTALL}/lib
export PYTHONPATH=${RUN_FROM_DIR}/src:$PYTHONPATH
forcePractice="FALSE"
declare -a parsedArgs
for flag in "$@"; do
if [ "$flag" == "--forcepractice" ]; then
forcePractice="TRUE"
else
parsedArgs=("${parsedArgs[@]}" "$flag")
fi
done
if [ $forcePractice != "TRUE" ]; then
TESTCHECK="${TCMP_HOME}/bin/getTestMode"
if [ -x ${TESTCHECK} ]; then
${TESTCHECK}
status=${?}
if [ $status -eq 11 ]; then
export OPERATIONAL_MODE="TRUE"
elif [ $status -eq 12 ]; then
export OPERATIONAL_MODE="FALSE"
elif [ $status -eq 15 ]; then
export OPERATIONAL_MODE="TRUE"
else
export OPERATIONAL_MODE="TRUE"
fi
else
export OPERATIONAL_MODE="TRUE"
fi
else
export OPERATIONAL_MODE="FALSE"
fi
# execute the textdb Python module
_PYTHON="${PYTHON_INSTALL}/bin/python"
_MODULE="${RUN_FROM_DIR}/src/textdb/TextDB.py"
# quoting of '$@' is used to prevent command line interpretation
$_PYTHON $_MODULE "${parsedArgs[@]}"