OSDN Git Service

perltidy
authorLong.inus <long.inus@hotmail.co.jp>
Mon, 15 Apr 2013 14:39:17 +0000 (23:39 +0900)
committerLong.inus <long.inus@hotmail.co.jp>
Mon, 15 Apr 2013 14:39:17 +0000 (23:39 +0900)
pdfsearch.pl

index 02b35ec..2aae816 100755 (executable)
@@ -12,73 +12,86 @@ use YAML::XS;
 #      Libre10
 #      Copyright 2013 yukikaze
 #
-my $confpath ="";
-if (-e "libre10.conf"){
+my $confpath = "";
+if ( -e "libre10.conf" ) {
        $confpath = "libre10.conf";
-}else {
+}
+else {
        $confpath = "/etc/libre10.conf";
 }
 $confdata = YAML::XS::LoadFile($confpath);
-my $q = new CGI;
-my $mode = "";
-my $search_text=$q->param("search_text");
-$mode = $q->param("mode");
-$width = $q->param("width");
+my $q           = new CGI;
+my $mode        = "";
+my $search_text = $q->param("search_text");
+$mode   = $q->param("mode");
+$width  = $q->param("width");
 $height = $q->param("height");
-my $url = $confdata->{solrurl};
+my $url  = $confdata->{solrurl};
 my $solr = WebService::Solr->new($url);
-print $q->header(-type=>"text/html",-charset=>"utf-8");
-print $q->start_html(-title=>"rec10 pdf search",-lang=>"ja-JP");
+print $q->header( -type => "text/html", -charset => "utf-8" );
+print $q->start_html( -title => "rec10 pdf search", -lang => "ja-JP" );
 print "<form action=\"pdfsearch.pl\" method=\"get\">";
 print "<div align=center><H1>Libre10 pdf search</H1></div>";
 print "<div align=center><p><input name='search_text' value='' style='width:200px'\/>";
 print "<input type=\"submit\" value=\"search\"/></p></div><hr>";
+
 #print Dumper($confdata->{solrurl});
 #print $search_text;
 #print length $search_text;
-if (length $search_text>0){
+if ( length $search_text > 0 ) {
        print "<p><h3>";
        print $search_text;
-       print +"の検索結果</h3></p>";      
-       my $query = WebService::Solr::Query->new({text=>decode('utf-8',$search_text)});
-       my $response = $solr->search($query,{
-               'rows' => '300',
-               'group.limit'=>'3000',
-               'group.field'=>'title_group',
-               'group'=>true,
-               'hl'=>true,'hl.fl'=>'text',
-               'hl.simple.pre'=>"<font color=red><em>",
-               'hl.simple.post'=>"</em></font>",
-               'hl.fragsize'=>'300',
-               'hl.fragmenter'=>'gap',
-               'hl.alternateField'=>'text',
-               'hl.maxAlternateFieldLength'=>'300',
-               'hl.useFastVectorHighlighter'=>true,
-       });
+       print +"の検索結果</h3></p>";
+       my $query = WebService::Solr::Query->new(
+               { text => decode( 'utf-8', $search_text ) } );
+       my $response = $solr->search(
+               $query,
+               {
+                       'rows'                        => '300',
+                       'group.limit'                 => '3000',
+                       'group.field'                 => 'title_group',
+                       'group'                       => true,
+                       'hl'                          => true,
+                       'hl.fl'                       => 'text',
+                       'hl.simple.pre'               => "<font color=red><em>",
+                       'hl.simple.post'              => "</em></font>",
+                       'hl.fragsize'                 => '300',
+                       'hl.fragmenter'               => 'gap',
+                       'hl.alternateField'           => 'text',
+                       'hl.maxAlternateFieldLength'  => '300',
+                       'hl.useFastVectorHighlighter' => true,
+               }
+       );
+
        #my $response = $solr->search($query,{'rows' => '100','fl'=>'title,text,page,path'});
        #my $response = $solr->search($query);
-       #print "texst"; 
-       my $hits = $response->content;
-       my %hits = %$hits;
+       #print "texst";
+       my $hits            = $response->content;
+       my %hits            = %$hits;
        my $response_header = $hits{grouped}{title_group}{groups};
        my @response_header = @$response_header;
+
        #print Dumper(@response_header);
        #print Dumper($response->content->{highlighting});
        #print Dumper($response->content->{highlighting});
-       foreach my $group (@response_header){
+       foreach my $group (@response_header) {
                my $textarray = $group->{doclist}{docs};
                my @textarray = @$textarray;
+
                #print Dumper($group);
-               &printGroupResults($group->{doclist}{numFound},
-                       $textarray[0]->{title_group},$search_text,$textarray,
-                       $response->content->{highlighting}
+               &printGroupResults(
+                       $group->{doclist}{numFound},
+                       $textarray[0]->{title_group},
+                       $search_text, $textarray, $response->content->{highlighting}
                );
        }
-}else{
+}
+else {
        #print "<a href=pdfsearch.pl?mode=$mode&width=1600>for Tablet</a><br>\n";
        print "<div align=center>";
        print "<a href=pdfsearch.pl?mode=mobile&width=1024&height=1280>for narrow band</a><br>\n";
        print "<a href=pdfsearch.pl?mode=mobile&width=1600&height=2560>for Tablet</a><br>\n";
+
        #print "<a href=pdfsearch.pl?mode=$mode&width=540>SmartPhone(w540)</a><br>\n";
        print "<a href=pdfsearch.pl?mode=mobile&width=1080&height=1920>for SmartPhone</a><br>\n";
        print "<a href=pdfsearch.pl?mode=mobile&width=1600&height=2100>for Tablet retina</a><br>\n";
@@ -86,28 +99,33 @@ if (length $search_text>0){
        print "<a href=pdfsearch.pl?mode=''>for PC(default)</a><br>\n";
        print "</div>";
 }
-print "<input type='hidden' name='mode' value=" . $mode . " >\n";
+print "<input type='hidden' name='mode'   value=" . $mode   . " >\n";
 print "<input type='hidden' name='height' value=" . $height . " >\n";
-print "<input type='hidden' name='width' value=" . $width . " >\n";
+print "<input type='hidden' name='width'  value=" . $width  . " >\n";
+
 #print $url;
 #print Dumper($mode);
 print "</form>";
 print $q->end_html;
 
-sub printGroupResults(){
-       ($hitsnum,$title,$search_text,$hits,$hits_hl)=@_;
+sub printGroupResults() {
+       ( $hitsnum, $title, $search_text, $hits, $hits_hl ) = @_;
+
        #print Dumper($hits);
-       print "<p><h2>" . $title . "</h2>  -  " . $hitsnum . "件の合致<br>";
-       foreach $doc (@$hits){
+       print "<p><h2>$title</h2>  -  $hitsnum 件の合致<br>";
+       foreach $doc (@$hits) {
+
                #print $doc->{text};
-               ($pagenum,$path,$linkpath)=($doc->{page},$doc->{path},$doc->{path});
-               print "page " . $pagenum ."<br>";
+               ( $pagenum, $path, $linkpath ) =
+                 ( $doc->{page}, $doc->{path}, $doc->{path} );
+               print "page " . $pagenum . "<br>";
+
                #print Dumper($hits_hl->{$doc->{id}}{text});
-               print " " . $hits_hl->{$doc->{id}}{text}[0] . "<br>";
+               print " " . $hits_hl->{ $doc->{id} }{text}[0] . "<br>";
                print "<a href=\"htmlserver.pl?pdfpath=$path";
                print "&pagenum=$pagenum&mode=$mode&width=$width&height=$height\">";
                print "該当ページを見る";
                print "</a>";
-       print "</p>\n";
+               print "</p>\n";
        }
 }