summaryrefslogtreecommitdiff
path: root/Master/tlpkg/TeXLive/TeXCatalogue.pm
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-12-04 23:44:44 +0000
committerKarl Berry <karl@freefriends.org>2014-12-04 23:44:44 +0000
commit409be3cd7916600b57782c79a90aba6d98775c45 (patch)
tree130b99d771920295920315b9da694ce8b0d5bc04 /Master/tlpkg/TeXLive/TeXCatalogue.pm
parent5fdfd4f530ddfc44ab9e2fcae25f3781eeb87aba (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.pm12
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;
}