testdiff2/doc/dot

47 lines
901 B
Plaintext
Raw Normal View History

2023-12-06 13:51:14 -04:00
#! /bin/bash
# This hack is a wrapper to GraphViz dot that removes any nodes that
# are contained in the following list.
LABELS_TO_FILTER="QObject Item"
ARGS=$@
for ARG in ${ARGS}
do
if [ -e ${ARG} ]
then
FILENAME=$(basename "${ARG}")
EXT="${FILENAME##*.}"
if [ ${EXT} == "dot" ]
then
DOT_FILE=${ARG}
for LABEL_TO_FILTER in ${LABELS_TO_FILTER}
do
NODE_NAME=$(grep "label=\"${LABEL_TO_FILTER}\"" ${DOT_FILE} | awk '{print $1}')
if [[ ! -z "${NODE_NAME}" ]]
then
echo "${NODE_NAME} is labelled ${LABEL_TO_FILTER}, filtering..."
sed -i -e "/${NODE_NAME}/d" ${DOT_FILE}
fi
done
break
fi
fi
done
if [[ -x "/usr/local/bin/dot" ]]
then
/usr/local/bin/dot ${ARGS}
elif [[ -x "/usr/bin/dot" ]]
then
/usr/bin/dot ${ARGS}
else
echo "Program dot not found: See file doc/dot"
exit 1
fi