diff options
author | Guillaume Rousse <guillomovitch@mandriva.org> | 2008-01-29 21:13:16 +0000 |
---|---|---|
committer | Guillaume Rousse <guillomovitch@mandriva.org> | 2008-01-29 21:13:16 +0000 |
commit | cfd087f5ce8e31cc42747a35a6248265123383e7 (patch) | |
tree | 5f73d4c3012d234fdaf265a6c5973e1280e44c67 /translate_menu | |
parent | a92aaad9c59ad9843503033f03fb9bc87b251c0b (diff) | |
download | spec-helper-cfd087f5ce8e31cc42747a35a6248265123383e7.tar spec-helper-cfd087f5ce8e31cc42747a35a6248265123383e7.tar.gz spec-helper-cfd087f5ce8e31cc42747a35a6248265123383e7.tar.bz2 spec-helper-cfd087f5ce8e31cc42747a35a6248265123383e7.tar.xz spec-helper-cfd087f5ce8e31cc42747a35a6248265123383e7.zip |
rename translate_menu.pl to translate_menu, for consistency
Diffstat (limited to 'translate_menu')
-rwxr-xr-x | translate_menu | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/translate_menu b/translate_menu new file mode 100755 index 0000000..2d661c6 --- /dev/null +++ b/translate_menu @@ -0,0 +1,72 @@ +#!/usr/bin/perl -w +#--------------------------------------------------------------- +# Project : Mandrake Linux +# Module : spec-helper +# File : translate_menu.pl +# Version : $Id$ +# Author : Frederic Lepied +# Created On : Mon Jan 26 13:37:49 2004 +# Purpose : change the menu sections +#--------------------------------------------------------------- + +my $menudir = `rpm --eval %_menudir`; +chomp($menudir); + +$ENV{RPM_BUILD_ROOT} or exit(0); +! -d "$ENV{RPM_BUILD_ROOT}/$menudir/" || exit(0); + +my @nested = (["Configuration", "System/Configuration"], + + ["Applications/Monitoring", "System/Monitoring"], + ["Applications/Publishing", "Office/Publishing"], + ["Applications/File tools", "System/File Tools"], + ["Applications/Text tools", "System/Text Tools"], + ["Applications/Archiving", "System/Archiving"], + ["Applications", "More Applications"], + + ["Terminals", "System/Terminals"], + + ["Documentation", "More Applications/Documentation"], + + ["Office/PDA", "Office/Communications/PDA"], + + ["Networking/IRC", "Internet/Chat"], + ["Networking/WWW", "Internet/Web Browsers"], + ["^Networking", "Internet"], + + ["Amusement", "More Applications/Games"], + ["Session/Windowmanagers", "System/Session/Windowmanagers"], + ); + +sub translate { + my ($str) = @_; + + foreach my $t (@nested) { + if ($str =~ /(.*)$t->[0](.*)/ && $str !~ /$t->[1]/) { + print "$str => $1$t->[1]$2\n"; + return "$1$t->[1]$2"; + } + } + return $str; +} + +# process each file passed on cli: + +foreach my $file (glob("$ENV{RPM_BUILD_ROOT}/$menudir/*")) { + open(my $FILE, "<$file") or die $!; + my @lines = <$FILE>; + close($FILE); + open($FILE, ">$file") or die $!; + foreach my $l (@lines) { + chomp($l); + if ($l =~ /(.*section=)"([^"]+)"(\s*.*)/ || $l =~ /(.*section=)([^"].+?)((\s|\\)+.*)/) { + my ($beg, $section, $end) = ($1, $2, $3); + $section = translate($section); + $l = qq($beg"$section"$end); + } + print $FILE "$l\n"; + } + close($FILE); +} + +# translate_menu.pl ends here |