--- trunk/make_config.pl 2003/04/30 12:40:09 32 +++ trunk/make_config.pl 2004/01/20 18:41:38 53 @@ -6,11 +6,18 @@ # use strict; +use Getopt::Long; -my ($name,$url,$stripurl) = @ARGV; +my $stripurl; + +my $result = GetOptions ("stripurl=s" => \$stripurl); + +my $name = shift @ARGV; +my $url = shift @ARGV; +my $title = join(" ",@ARGV); if (!$name || !$url) { - print "Usage: $0 name URL\n"; + print "Usage: $0 [--stripurl=path] name URL title\n"; exit; } @@ -23,12 +30,12 @@ my ($host,$urlpath); -if ($url =~ m#(http://[^/]+)(/.+)$#) { +if ($url =~ m#(http://[^/]+)(/.*)$#) { ($host,$urlpath) = ($1,$2); - if ($stripurl && $urlpath =~ m/^(.*$stripurl)/) { + if ($stripurl && $url =~ m/^(.*$stripurl)/) { $stripurl = $1; } else { - $stripurl = ""; + $stripurl = $host; } } else { print "Can't parse URL $url into host and path!\n"; @@ -39,6 +46,7 @@ $baseurl =~ s#/[^/]+$#/#g; print "Config name: $name\nCrawling url: $url [strip $stripurl]\n"; +print "Title: $title\n" if ($title); my $config = <<"EOF"; @@ -47,9 +55,9 @@ IncludeConfigFile $dir/common.config # this is a cludge to implement no parent URL feature in swish indexer -IndexDir "$url $baseurl" -ReplaceRules replace " $baseurl" "" -ReplaceRules replace "${host}${stripurl}" "" +IndexDir "$baseurl $url" +ReplaceRules replace "$baseurl " "" +ReplaceRules replace "${stripurl}" "" IndexFile $dir/index/$name @@ -69,9 +77,23 @@ prog="/usr/bin/swish-e" index="$dir/index/$name" charset="iso-8859-2" - title="$name search" affix="/usr/lib/ispell/american.aff" - url="$stripurl" +EOF +if ($title) { + $xml .= "\ttitle=\"$title\"\n"; +} else { + $xml .= "\ttitle=\"$name search\"\n"; +} + +my $xml_title = $title || $url; + +my $xml_url = $url; +$xml_url =~ s/^$host//; +my $xml_urlprefix = $stripurl; +$xml_urlprefix =~ s/^$host//; + +$xml .= "\turl=\"$xml_urlprefix\"\n" if ($stripurl); +$xml .= << "EOF"; > @@ -86,7 +108,15 @@ don't display results details Showing %s documents (of maximum %d)... (%s) Can't find any documents (%s, %s) - + swishdescription swishdocsize @@ -97,8 +127,8 @@ EOF -print "Creating $dir/$name.config\n"; -open(C,"> $dir/$name.config") || die "can't open $dir/$name.config: $!"; +print "Creating $dir/config/$name\n"; +open(C,"> $dir/config/$name") || die "can't open $dir/config/$name: $!"; print C $config; close(C); @@ -110,5 +140,5 @@ print "Creating symlink to $dir/html/$name.cgi\n"; symlink "$dir/html/swish.cgi","$dir/html/$name.cgi" || die "can't create symlink $dir/html/$name.cgi: $!"; -#print "Index this with:\nswish-e -S http -c $dir/$name.config\n"; +#print "Index this with:\nswish-e -S http -c $dir/config/$name\n"; #print "Search using $name.cgi\n";