From bd41846f4f09f09f3bcc3efa0f49795a63461035 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 27 Oct 2017 05:26:02 +0000 Subject: move repository_to_array to TLUtils git-svn-id: svn://tug.org/texlive/trunk@45619 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/TeXLive/TLUtils.pm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'Master/tlpkg') diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index f3767b7889a..3e63b4a2c08 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -99,6 +99,7 @@ C -- utilities used in TeX Live infrastructure TeXLive::TLUtils::mktexupd(); TeXLive::TLUtils::setup_sys_user_mode($optsref,$tmfc, $tmfsc, $tmfv, $tmfsv); TeXLive::TLUtils::prepend_own_path(); + TeXLive::TLUtils::repository_to_array($str); =head1 DESCRIPTION @@ -186,6 +187,7 @@ BEGIN { &nulldev &get_full_line &sort_archs + &repository_to_array ); @EXPORT = qw(setup_programs download_file process_logging_options tldie tlwarn info log debug ddebug dddebug debug_hash @@ -4131,6 +4133,33 @@ sub prepend_own_path { =back =cut + +sub repository_to_array { + my $r = shift; + my %r; + my @repos = split ' ', $r; + if ($#repos == 0) { + # only one repo, this is the main one! + $r{'main'} = $repos[0]; + return %r; + } + for my $rr (@repos) { + my $tag; + my $url; + # decode spaces and % in reverse order + $rr =~ s/%20/ /g; + $rr =~ s/%25/%/g; + $tag = $url = $rr; + if ($rr =~ m/^([^#]+)#(.*)$/) { + $tag = $2; + $url = $1; + } + $r{$tag} = $url; + } + return %r; +} + + 1; __END__ -- cgit v1.2.3