aboutsummaryrefslogtreecommitdiff
path: root/SBO-Lib/lib/SBO
diff options
context:
space:
mode:
authorAndreas Guldstrand <andreas.guldstrand@gmail.com>2015-12-03 02:33:06 +0100
committerAndreas Guldstrand <andreas.guldstrand@gmail.com>2015-12-03 02:33:06 +0100
commit26c0796d4341c665fc8d67aecf350349201e8bbe (patch)
treeb7b2e6cd9691c1cc9dfa400a5317828d012aa13d /SBO-Lib/lib/SBO
parenteeb7a259c1d924246e39730d948d142321b2d0da (diff)
downloadsbotools2-26c0796d4341c665fc8d67aecf350349201e8bbe.tar.xz
Refactor the filename extraction from link
Diffstat (limited to 'SBO-Lib/lib/SBO')
-rw-r--r--SBO-Lib/lib/SBO/Lib.pm14
1 files changed, 10 insertions, 4 deletions
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