[docs] docs - heins modified scripts/breakdown.pl

docs@interchange.redhat.com docs@interchange.redhat.com
Mon Oct 8 18:59:00 2001


User:      heins
Date:      2001-10-08 22:58:27 GMT
Modified:  scripts  breakdown.pl
Log:
	* Fix docdb generation.....

Revision  Changes    Path
1.3       +13 -6     docs/scripts/breakdown.pl


rev 1.3, prev_rev 1.2
Index: breakdown.pl
===================================================================
RCS file: /anon_cvs/repository/docs/scripts/breakdown.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- breakdown.pl	2001/04/25 16:02:01	1.2
+++ breakdown.pl	2001/10/08 22:58:27	1.3
@@ -57,10 +57,14 @@
 	print NAV $nav_base;
 
 for(@chunks) {
-	/<a\s+name\s*=\s*"([^"]+)">([^<]+)/i;
+	m{<a\s+name\s*=\s*"([^"]+)">(.*?)</a>}is;
 	$secname[$i] = $1;
-	$secname[$i] =~ s/([^-.\w])/'%' . sprintf("%02x", ord($1))/eg;
 	$title[$i] = $2;
+	$title[$i] =~ s/<.*?>//sg;
+	$title[$i] =~ s/^\s+//;
+	$title[$i] =~ s/\s+$//;
+	$secname[$i] =~ s/([^-.\w])/'%' . sprintf("%02x", ord($1))/eg;
+warn("empty title for $secname[$i]") unless $title[$i] =~ /\S/;
 	$i++;
 }
 
@@ -101,7 +105,7 @@
 	($rest,@bits) = split /<H2>/i, $chunk;
 	my $dbtitle = $title[$i];
 	my $sectype = 'overview';
-	if($dbtitle =~ /^\s*NAME\s*$/) {
+	if($secname[$i] = /^s*name\s*$/i) {
 		$sectype = 'filler';
 	}
 	elsif($dbtitle =~ /^\s*DESCRIPTION\s*$/) {
@@ -131,10 +135,13 @@
 	my $j = 1;
 
 	for(@bits) {
-		/<a\s+name\s*=\s*"([^"]+)">([^<]+)/i;
+		m{<a\s+name\s*=\s*"([^"]+)">(.*?)</A>}si;
 		$subname[$j] = $1;
-		$subname[$j] =~ s/([^-.\w])/'%' . sprintf("%02x", ord($1))/eg;
 		$subtitle[$j] = $2;
+		$subtitle[$j] =~ s/<.*?>//sg;
+		$subtitle[$j] =~ s/^\s+//;
+		$subtitle[$j] =~ s/\s+$//;
+		$subname[$j] =~ s/([^-.\w])/'%' . sprintf("%02x", ord($1))/eg;
 		$j++;
 	}
 
@@ -167,7 +174,7 @@
 %%
 $ENV{DOCUMENT}
 %%
-$secname[$i]
+$secname[$j]
 %%
 item
 %%