summaryrefslogtreecommitdiff
path: root/submenu2menuorg
diff options
context:
space:
mode:
Diffstat (limited to 'submenu2menuorg')
-rwxr-xr-xsubmenu2menuorg85
1 files changed, 85 insertions, 0 deletions
diff --git a/submenu2menuorg b/submenu2menuorg
new file mode 100755
index 0000000..0a2888e
--- /dev/null
+++ b/submenu2menuorg
@@ -0,0 +1,85 @@
+#!/bin/bash
+#
+# vdr-menuorg - A plugin for the Linux Video Disk Recorder
+# Copyright (C) 2007 Thomas Creutz, Tobias Grimm
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# $Id$
+#
+
+usage="$0 submenu-file menuorg-file"
+
+if [ a"$1" == a"" ] || ! [ -f $1 ]; then echo $usage && exit 1; fi
+if [ a"$2" == a"" ]; then echo $usage && exit 1; fi
+
+declare -a menu
+
+echo -n "read the input file... "
+while read line
+do
+ menuLevel=`echo $line|cut -d: -f1`
+ kindOfItem=`echo $line|cut -d: -f2`
+ name=`echo $line|cut -d: -f3`
+
+ if [ a"$kindOfItem" != a"" ] && [ "$kindOfItem" != "0" ]
+ then
+ menu[$menuLevel]="${menu[$menuLevel]} 0;$name"
+ else
+ menu[$menuLevel]="${menu[$menuLevel]} $name"
+ fi
+done < $1
+echo done
+
+echo -n "write the xml to the output file... "
+echo "<menus>" > $2
+COUNT=0
+for item in `echo ${menu[$COUNT]}`
+do
+ case $item
+ in
+ Schedule) echo " <system name=\"${item}\" />" >> $2;;
+ Channels) echo " <system name=\"${item}\" />" >> $2;;
+ Timers) echo " <system name=\"${item}\" />" >> $2;;
+ Recordings) echo " <system name=\"${item}\" />" >> $2;;
+ Setup) echo " <system name=\"${item}\" />" >> $2;;
+ Commands) echo " <system name=\"${item}\" />" >> $2;;
+
+ 0*)
+ echo " <menu name=\"$(echo $item|cut -d';' -f2)\">" >> $2
+
+ COUNT=$(($COUNT+1))
+ for Subitem in `echo ${menu[$COUNT]}`
+ do
+ case $Subitem
+ in
+ Schedule) echo " <system name=\"${Subitem}\" />" >> $2;;
+ Channels) echo " <system name=\"${Subitem}\" />" >> $2;;
+ Timers) echo " <system name=\"${Subitem}\" />" >> $2;;
+ Recordings) echo " <system name=\"${Subitem}\" />" >> $2;;
+ Setup) echo " <system name=\"${Subitem}\" />" >> $2;;
+ Commands) echo " <system name=\"${Subitem}\" />" >> $2;;
+ *) echo " <plugin name=\"${Subitem}\" />" >> $2;;
+ esac
+ done
+
+ echo " </menu>" >> $2
+ ;;
+
+ *) echo " <plugin name=\"${item}\" />" >> $2;;
+ esac
+done
+echo "</menus>" >> $2
+echo done