From 26c0796d4341c665fc8d67aecf350349201e8bbe Mon Sep 17 00:00:00 2001 From: Andreas Guldstrand Date: Thu, 3 Dec 2015 02:33:06 +0100 Subject: Refactor the filename extraction from link --- SBO-Lib/lib/SBO/Lib.pm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'SBO-Lib') diff --git a/SBO-Lib/lib/SBO/Lib.pm b/SBO-Lib/lib/SBO/Lib.pm index b5d1bc3..f260006 100644 --- a/SBO-Lib/lib/SBO/Lib.pm +++ b/SBO-Lib/lib/SBO/Lib.pm @@ -469,13 +469,19 @@ sub get_sbo_downloads { } # given a link, grab the filename from it and prepend $distfiles -sub get_filename_from_link { - exists $_[0] or script_error('get_filename_from_link requires an argument'); +sub _get_fname { my $fn = shift; my $regex = qr#/([^/]+)$#; - my $filename = $fn =~ $regex ? $distfiles .'/'. ($fn =~ $regex)[0] : undef; + my ($filename) = $fn =~ $regex; $filename =~ s/%2B/+/g if $filename; return $filename; + +} +sub get_filename_from_link { + exists $_[0] or script_error('get_filename_from_link requires an argument'); + my $filename = _get_fname(shift); + return undef unless defined $filename; + return "$distfiles/$filename"; } # for a given file, compute its md5sum @@ -528,7 +534,7 @@ sub get_distfile { unlink $filename if -f $filename; my $sbosrcarch = sprintf( "ftp://ftp.slackware.org.uk/sbosrcarch/by-md5/%s/%s/%s/%s", - substr($info_md5, 0, 1), substr($info_md5, 1, 1), $info_md5, $filename); + substr($info_md5, 0, 1), substr($info_md5, 1, 1), $info_md5, _get_fname($link)); return 1 if system('wget', '--no-check-certificate', $sbosrcarch) == 0 and -- cgit v1.2.3