[GRASS-SVN] r36040 - grass/trunk/tools

svn_grass at osgeo.org svn_grass at osgeo.org
Sun Feb 22 07:35:33 EST 2009


Author: hamish
Date: 2009-02-22 07:35:33 -0500 (Sun, 22 Feb 2009)
New Revision: 36040

Modified:
   grass/trunk/tools/module_synopsis.sh
Log:
crude attempt at building menu hierarchy (merge from devbr6)

Modified: grass/trunk/tools/module_synopsis.sh
===================================================================
--- grass/trunk/tools/module_synopsis.sh	2009-02-22 12:34:07 UTC (rev 36039)
+++ grass/trunk/tools/module_synopsis.sh	2009-02-22 12:35:33 UTC (rev 36040)
@@ -55,7 +55,41 @@
 OLDDIR="`pwd`"
 cd "$GISBASE"
 
+XML_MENU="$GISBASE/etc/wxpython/xml/menudata.xml"
 
+
+# work in progress -- still rather buggy.
+find_menu_hierarchy()
+{
+unset MODULE_COUNT MODULE_LABEL MODULE_MENU1 MODULE_MENU2
+
+MODULE_COUNT=`grep -c -w "$MODULE" "$XML_MENU"`
+
+if [ "$MODULE_COUNT" -ge 1 ] ; then
+    MODULE_LABEL=`xml2 < "$XML_MENU" | grep -w -B5 "$MODULE" | \
+       grep 'label=' | cut -f2 -d= | tr '\n' '>' | \
+       sed -e 's/>$//' -e 's/[^ ]>/ > /'`
+
+    MODULE_MENU1=`xml2 < "$XML_MENU" | grep -w -B5000 "$MODULE" | \
+       sed -e 's+^/menudata/menubar/menu/++' | tac | \
+       grep '/label=\|^label=' | grep -B1000 '^label=' -m 1 | \
+       grep -v menuitem | tail -n 1 | cut -f2 -d=`
+
+    MODULE_MENU2=`xml2 < "$XML_MENU" | grep -w -B5000 "$MODULE" | \
+       sed -e 's+^/menudata/menubar/menu/++' | tac | \
+       grep '/label=\|^label=' | grep -B1000 '^label=' -m 1 | \
+       grep -v menuitem | head -n 1 | cut -f2 -d= | tr '\n' ' ' | \
+       sed -e 's/ $//'`
+
+    if [ "$MODULE_COUNT" -eq 1 ] ; then
+        echo "$MODULE|$MODULE_MENU1 > $MODULE_MENU2 > $MODULE_LABEL"
+    else
+	# "*" indicates module appears more than once
+        echo "$MODULE*|$MODULE_MENU1 > $MODULE_MENU2 > $MODULE_LABEL"
+    fi
+fi
+}
+
 for DIR in bin scripts ; do
   cd $DIR
 
@@ -75,6 +109,8 @@
 
 #    echo "mod=[$MODULE]  desc=[$desc]"
 
+#    find_menu_hierarchy
+
     if [ -z "$label" ] && [ -z "$desc" ] ; then
 	continue
     fi



More information about the grass-commit mailing list