diff options
Diffstat (limited to 'helpcontent2/helpers/checkuno.pl')
-rw-r--r-- | helpcontent2/helpers/checkuno.pl | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/helpcontent2/helpers/checkuno.pl b/helpcontent2/helpers/checkuno.pl new file mode 100644 index 0000000000..68a6768a2b --- /dev/null +++ b/helpcontent2/helpers/checkuno.pl @@ -0,0 +1,53 @@ +#!/usr/bin/perl + +$uno_hid = "/handbuch/WORKBENCH/helpcontent2/helpers/uno_hid.lst"; +$uno_cmd = "/handbuch/WORKBENCH/helpcontent2/helpers/unocmds.txt"; +$startdir = "/handbuch/WORKBENCH/helpcontent2/source/text/"; + +if (open HID, $uno_hid) { + while (<HID>) { + chomp; + ($shid,$nhid,$uno) = split ","; + $hid{lc($uno)} = $shid; + } + close HID; +} else { + die "Cannot open $uno_hid: $!\n"; +} +print scalar keys(%hid) . " entries read\n"; + +if (open UNO, $uno_cmd) { + while (<UNO>) { + chomp; + ($uno,$file) = split ";"; + #print "$file\n"; + if (defined $hid{lc($uno)}) { + if (open XML, "$startdir$file") { + undef $/; + $xml = <XML>; + $/ = "\n"; + close XML; + if ($xml =~ /hid\/$hid{lc($uno)}/ig) { + print "OK $startdir$file\n"; + } else { + print "MISS $startdir$file\n"; + open XML, ">$startdir$file.org"; + print XML $xml; + close XML; + open XML, ">$startdir$file"; + $id = "bm_id" . int(rand(10000000)); + $xml =~ s/(<bookmark[^>]*branch=\"hid\/$uno\"[^>]*>)/<bookmark xml-lang=\"en-US\" branch=\"hid\/$hid{lc($uno)}\" id=\"$id\" localize=\"false\"\/><!-- HID added by script -->\n$1/ig; + print XML $xml; + close XML; + } + } else { + print "Cannot open $startdir$file: $!\n"; + } + } + } +} else { + die "Cannot open $uno_cmd: $!\n"; +} + + + |