mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
docs/gen-html-index: Make HTML::TreeBuilder::XPath optional again
7782db9260 "docs/gen-html-index: Extract titles from HTML documents"
requires HTML::TreeBuilder::XPath.
This is sadly not as widely available as I had hoped. Work around
this problem by making the use of this module optional: instead of
`use'ing at the toplevel, we `require' it in the eval. If it's not
present, then the title is simply not extracted and the filename is
used as before, which is tolerable.
Also add some debugging.
Reported-by: Doug Goldstein <cardoe@cardoe.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
Tested-by: Doug Goldstein <cardoe@cardoe.com>
This commit is contained in:
1 parent
ba2931d4e3
commit
16fb4b5a9a
1 file changed
+5
-2
+5
-2
@@ -10,7 +10,6 @@ use warnings;
|
||||
use Getopt::Long;
|
||||
use IO::File;
|
||||
use File::Basename;
|
||||
use HTML::TreeBuilder::XPath;
|
||||
|
||||
Getopt::Long::Configure('bundling');
|
||||
|
||||
@@ -21,8 +20,10 @@ our @dirs;
|
||||
our %index;
|
||||
|
||||
our $outdir;
|
||||
our $debug;
|
||||
|
||||
GetOptions("i=s" => sub { read_index(@_);} )
|
||||
GetOptions("i=s" => sub { read_index(@_);},
|
||||
"D" => \$debug)
|
||||
or die;
|
||||
|
||||
($outdir,@docs) = @ARGV;
|
||||
@@ -68,6 +69,7 @@ sub make_linktext ($) {
|
||||
|
||||
my $from_html;
|
||||
eval {
|
||||
require HTML::TreeBuilder::XPath;
|
||||
my $tree = new HTML::TreeBuilder::XPath;
|
||||
my $f = "$outdir/$l.html";
|
||||
open F, '<', $f or die "$l $f $!";
|
||||
@@ -75,6 +77,7 @@ sub make_linktext ($) {
|
||||
close F;
|
||||
$from_html = $tree->findvalue("/html/head/title");
|
||||
};
|
||||
print "$l: get title: $@" if $@ && $debug;
|
||||
return $from_html if $from_html;
|
||||
|
||||
return basename($l);
|
||||
|
||||