From e01673a2efa421edb4c3b539afa54868a4f29c1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Fri, 7 Feb 2014 02:51:30 +0100 Subject: Add cmake rule to find htsearch binary --- khelpcenter/searchhandlers/khc_htsearch.pl.in | 117 ++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 khelpcenter/searchhandlers/khc_htsearch.pl.in (limited to 'khelpcenter/searchhandlers/khc_htsearch.pl.in') diff --git a/khelpcenter/searchhandlers/khc_htsearch.pl.in b/khelpcenter/searchhandlers/khc_htsearch.pl.in new file mode 100644 index 000000000..28113bec2 --- /dev/null +++ b/khelpcenter/searchhandlers/khc_htsearch.pl.in @@ -0,0 +1,117 @@ +#!/usr/bin/perl + +use strict; + +use Encode; +use Getopt::Long; + +use open IO => ':utf8'; +use open ':std'; + +my $htsearchpath="@HTDIG_SEARCH_BINARY@"; +my $config; +my $format; +my $method; +my $words; +my $lang; +my $docbook; +my $indexdir; +my $maxnum; + +GetOptions ( + 'binary=s' => \$htsearchpath, + 'config=s' => \$config, + 'format=s' => \$format, + 'method=s' => \$method, + 'words=s' => \$words, + 'lang=s' => \$lang, + 'docbook' => \$docbook, + 'indexdir=s' => \$indexdir, + 'maxnum=s' => \$maxnum +); + +if ( !$indexdir ) { + print STDERR "No index dir given.\n"; + exit 1; +} + +if ( !$lang ) { $lang = "en"; } + +my $charset = langCharset( $lang ); + +$words = encode( $charset, $words ); + +if ( !open( HTSEARCH, "-|", "$htsearchpath", "-c", "$indexdir/$config.conf", + "format=$format&method=$method&words=$words&matchesperpage=$maxnum&exclude=[index.html]" ) ) +{ + print "Can't execute htsearch at '$htsearchpath'.\n"; + exit 1; +} + +my ($body,$liststart,$ref,$link,$error,$errorOut); + +while( ) { + if ( !$body ) { + print; + if ( /^/ ) { + print; + print "\n"; } + +print "\n"; + +if ( $? != 0 ) { exit $?; } + +1; + +# Return charset used for given language +sub langCharset( $ ) +{ + my $lang = shift; + if ( $lang eq "cz" || $lang eq "hu" ) { + return "latin2"; + } elsif ( $lang eq "kr" ) { + return "utf8"; + } else { + return "latin1"; + } +} -- cgit v1.2.1