- From: Mercurial notifier <nobody@w3.org>
- Date: Thu, 05 Aug 2010 14:47:25 +0000
- To: link-checker updates <www-validator-cvs@w3.org>
changeset: 343:4754ddab123b user: ville date: Sun Feb 21 16:57:43 2010 +0000 files: Makefile.PL bin/checklink description: Look for an index file if passed a dir, prefer it if found over dir contents. diff -r c6f199295f1c -r 4754ddab123b Makefile.PL --- a/Makefile.PL Thu Feb 04 19:15:47 2010 +0000 +++ b/Makefile.PL Sun Feb 21 16:57:43 2010 +0000 @@ -28,6 +28,7 @@ Socket => 0, # Optional, but required in command line mode: + File::Spec => 0, Getopt::Long => 2.17, Text::Wrap => 0, URI::file => 0, diff -r c6f199295f1c -r 4754ddab123b bin/checklink --- a/bin/checklink Thu Feb 04 19:15:47 2010 +0000 +++ b/bin/checklink Sun Feb 21 16:57:43 2010 +0000 @@ -5,7 +5,7 @@ # (c) 1999-2010 World Wide Web Consortium # based on Renaud Bruyeron's checklink.pl # -# $Id: checklink,v 4.179 2010-02-04 19:15:47 ville Exp $ +# $Id: checklink,v 4.180 2010-02-21 16:57:43 ville Exp $ # # This program is licensed under the W3C(r) Software License: # http://www.w3.org/Consortium/Legal/copyright-software @@ -284,7 +284,7 @@ $PROGRAM = 'W3C-checklink'; $VERSION = '4.5'; $REVISION = sprintf('version %s (c) 1999-2010 W3C', $VERSION); - my ($cvsver) = q$Revision: 4.179 $ =~ /(\d+[\d\.]*\.\d+)/; + my ($cvsver) = q$Revision: 4.180 $ =~ /(\d+[\d\.]*\.\d+)/; $AGENT = sprintf('%s/%s [%s] %s', $PROGRAM, $VERSION, $cvsver, (W3C::UserAgent::USE_ROBOT_UA @@ -910,8 +910,25 @@ sub urize ($) { - my $u = URI->new_abs(URI::Escape::uri_unescape($_[0]), URI::file->cwd()); - return $u->as_string(); + my $arg = shift; + my $uarg = URI::Escape::uri_unescape($arg); + my $uri; + if (-d $uarg) { + # look for an "index" file in dir, return it if found + require File::Spec; + for my $index (map { File::Spec->catfile($uarg, $_) } + qw(index.html index.xhtml index.htm index.xhtm)) { + if (-e $index) { + $uri = URI::file->new_abs($index); + last; + } + } + # return dir itself if an index file was not found + $uri ||= URI::file->new_abs($uarg); + } else { + $uri = URI->new_abs($arg, URI::file->cwd()); + } + return $uri->as_string(); } ########################################
Received on Thursday, 5 August 2010 14:47:40 UTC