You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
901 B
46 lines
901 B
#! /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
|
|
|