texlive[54367] Master/tlpkg/TeXLive/TeXCatalogue.pm: parse all

commits+preining at tug.org commits+preining at tug.org
Mon Mar 16 23:59:15 CET 2020


Revision: 54367
          http://tug.org/svn/texlive?view=revision&revision=54367
Author:   preining
Date:     2020-03-16 23:59:15 +0100 (Mon, 16 Mar 2020)
Log Message:
-----------
parse all licenses listed in the catalogue

Modified Paths:
--------------
    trunk/Master/tlpkg/TeXLive/TeXCatalogue.pm

Modified: trunk/Master/tlpkg/TeXLive/TeXCatalogue.pm
===================================================================
--- trunk/Master/tlpkg/TeXLive/TeXCatalogue.pm	2020-03-16 21:30:20 UTC (rev 54366)
+++ trunk/Master/tlpkg/TeXLive/TeXCatalogue.pm	2020-03-16 22:59:15 UTC (rev 54367)
@@ -81,7 +81,17 @@
   $self->{'name'} = $parser->findvalue("/entry/name")->value();
   $self->{'caption'} = beautify($parser->findvalue("/entry/caption")->value());
   $self->{'description'} = beautify($parser->findvalue("/entry/description")->value());
-  $self->{'license'} = $parser->findvalue('/entry/license/@type')->value();
+  # there can be multiple entries of licenses, collected them all
+  # into one string
+  my $licset = $parser->find('/entry/license');
+  my @liclist;
+  foreach my $node ($licset->get_nodelist) {
+    my $lictype = $parser->find('./@type',$node);
+    push @liclist, "$lictype";
+  }
+  $self->{'license'} = join(' ', @liclist);
+  # was before
+  # $self->{'license'} = $parser->findvalue('/entry/license/@type')->value();
   $self->{'version'} = Text::Unidecode::unidecode(
                           $parser->findvalue('/entry/version/@number')->value());
   $self->{'ctan'} = $parser->findvalue('/entry/ctan/@path')->value();



More information about the tex-live-commits mailing list.