diff options
author | Karl Berry <karl@freefriends.org> | 2014-12-04 23:44:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-12-04 23:44:44 +0000 |
commit | 409be3cd7916600b57782c79a90aba6d98775c45 (patch) | |
tree | 130b99d771920295920315b9da694ce8b0d5bc04 /Master/tlpkg/TeXLive/TeXCatalogue.pm | |
parent | 5fdfd4f530ddfc44ab9e2fcae25f3781eeb87aba (diff) |
* TLPOBJ.pm (update_from_catalogue): compare true basename of ctan file,
resulting in some ~350 additional Catalogue details strings being
found. Also prefer first match from Catalogue, for the sake of
top-level README files.
* TeXCatalogue.pm (initialize): show error when parse fails.
* tl-update-tlpdb: doc fixes.
git-svn-id: svn://tug.org/texlive/trunk@35744 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/TeXLive/TeXCatalogue.pm')
-rw-r--r-- | Master/tlpkg/TeXLive/TeXCatalogue.pm | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/Master/tlpkg/TeXLive/TeXCatalogue.pm b/Master/tlpkg/TeXLive/TeXCatalogue.pm index cdea8db9b47..2f5cdeb9d16 100644 --- a/Master/tlpkg/TeXLive/TeXCatalogue.pm +++ b/Master/tlpkg/TeXLive/TeXCatalogue.pm @@ -56,8 +56,9 @@ sub new { sub initialize { my $self = shift; # parse all the files - my $parser = new XML::XPath->new(ioref => $self->{'ioref'}, parser => $_parser) || - die "Failed to parse the given ioref"; + my $parser + = new XML::XPath->new(ioref => $self->{'ioref'}, parser => $_parser) + || die "Failed to parse given ioref"; $self->{'entry'}{'id'} = $parser->findvalue('/entry/@id'); $self->{'entry'}{'date'} = $parser->findvalue('/entry/@datestamp'); $self->{'entry'}{'modder'} = $parser->findvalue('/entry/@modifier'); @@ -79,8 +80,8 @@ sub initialize { foreach my $node ($docset->get_nodelist) { my $docfile = $parser->find('./@href',$node); # see comments at end of beautify() - my $details = Text::Unidecode::unidecode( - $parser->find('./@details',$node)); + my $details + = Text::Unidecode::unidecode($parser->find('./@details',$node)); my $language = $parser->find('./@language',$node); $self->{'docs'}{$docfile}{'available'} = 1; if ($details) { $self->{'docs'}{$docfile}{'details'} = $details; } @@ -186,13 +187,14 @@ sub initialize { || die "chdir($self->{location}/entries failed: $!"; # parse all the files foreach (glob("?/*.xml")) { + # for debugging, nice to skip everything but: next unless /pst-node/; open(my $io,"<$_") or die "open($_) failed: $!"; our $tce; # the XML parser die's on malformed xml entries, so we catch # that and continue, simply skipping the entry eval { $tce = TeXLive::TeXCatalogue::Entry->new( 'ioref' => $io ); }; if ($@) { - printf STDERR "TeXCatalogue.pm: cannot parse $_, skipping it!\n"; + warn "TeXCatalogue.pm:$_: cannot parse, skipping: $@\n"; close($io); next; } |