From 409be3cd7916600b57782c79a90aba6d98775c45 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 4 Dec 2014 23:44:44 +0000 Subject: * 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 --- Master/tlpkg/TeXLive/TeXCatalogue.pm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'Master/tlpkg/TeXLive/TeXCatalogue.pm') 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; } -- cgit v1.2.3