PyukiWiki CVS Commit
pyuki****@lists*****
2012年 1月 31日 (火) 17:55:59 JST
Index: PyukiWiki-Devel-UTF8/lib/Nana/Cache.pm diff -u PyukiWiki-Devel-UTF8/lib/Nana/Cache.pm:1.255 PyukiWiki-Devel-UTF8/lib/Nana/Cache.pm:1.256 --- PyukiWiki-Devel-UTF8/lib/Nana/Cache.pm:1.255 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/Cache.pm Tue Jan 31 17:55:59 2012 @@ -1,6 +1,6 @@ ###################################################################### # Cache.pm - This is PyukiWiki, yet another Wiki clone. -# $Id: Cache.pm,v 1.255 2012/01/30 17:32:17 papu Exp $ +# $Id: Cache.pm,v 1.256 2012/01/31 08:55:59 papu Exp $ # # "Nana::Cache" version 0.2 $$ # Author: Nanami Index: PyukiWiki-Devel-UTF8/lib/Nana/File.pm diff -u PyukiWiki-Devel-UTF8/lib/Nana/File.pm:1.252 PyukiWiki-Devel-UTF8/lib/Nana/File.pm:1.253 --- PyukiWiki-Devel-UTF8/lib/Nana/File.pm:1.252 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/File.pm Tue Jan 31 17:55:59 2012 @@ -1,6 +1,6 @@ ###################################################################### # File.pm - This is PyukiWiki, yet another Wiki clone. -# $Id: File.pm,v 1.252 2012/01/30 17:32:17 papu Exp $ +# $Id: File.pm,v 1.253 2012/01/31 08:55:59 papu Exp $ # # "Nana::File" version 0.1 $$ # Author: Nanami Index: PyukiWiki-Devel-UTF8/lib/Nana/GZIP.pm diff -u PyukiWiki-Devel-UTF8/lib/Nana/GZIP.pm:1.153 PyukiWiki-Devel-UTF8/lib/Nana/GZIP.pm:1.154 --- PyukiWiki-Devel-UTF8/lib/Nana/GZIP.pm:1.153 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/GZIP.pm Tue Jan 31 17:55:59 2012 @@ -1,6 +1,6 @@ ###################################################################### # GZIP.pm - This is PyukiWiki, yet another Wiki clone. -# $Id: GZIP.pm,v 1.153 2012/01/30 17:32:17 papu Exp $ +# $Id: GZIP.pm,v 1.154 2012/01/31 08:55:59 papu Exp $ # # "Nana::GZIP" version 0.1 $$ # Author: Nanami Index: PyukiWiki-Devel-UTF8/lib/Nana/HTTP.pm diff -u PyukiWiki-Devel-UTF8/lib/Nana/HTTP.pm:1.252 PyukiWiki-Devel-UTF8/lib/Nana/HTTP.pm:1.253 --- PyukiWiki-Devel-UTF8/lib/Nana/HTTP.pm:1.252 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/HTTP.pm Tue Jan 31 17:55:59 2012 @@ -1,6 +1,6 @@ ###################################################################### # HTTP.pm - This is PyukiWiki, yet another Wiki clone. -# $Id: HTTP.pm,v 1.252 2012/01/30 17:32:17 papu Exp $ +# $Id: HTTP.pm,v 1.253 2012/01/31 08:55:59 papu Exp $ # # "Nana::HTTP" version 0.6 $$ # Author: Nanami Index: PyukiWiki-Devel-UTF8/lib/Nana/Lock.pm diff -u PyukiWiki-Devel-UTF8/lib/Nana/Lock.pm:1.252 PyukiWiki-Devel-UTF8/lib/Nana/Lock.pm:1.253 --- PyukiWiki-Devel-UTF8/lib/Nana/Lock.pm:1.252 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/Lock.pm Tue Jan 31 17:55:59 2012 @@ -1,6 +1,6 @@ ###################################################################### # Lock.pm - This is PyukiWiki, yet another Wiki clone. -# $Id: Lock.pm,v 1.252 2012/01/30 17:32:17 papu Exp $ +# $Id: Lock.pm,v 1.253 2012/01/31 08:55:59 papu Exp $ # # "Nana::Lock" version 0.2 $$ # Author: Nanami Index: PyukiWiki-Devel-UTF8/lib/Nana/Logs.pm diff -u PyukiWiki-Devel-UTF8/lib/Nana/Logs.pm:1.108 PyukiWiki-Devel-UTF8/lib/Nana/Logs.pm:1.109 --- PyukiWiki-Devel-UTF8/lib/Nana/Logs.pm:1.108 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/Logs.pm Tue Jan 31 17:55:59 2012 @@ -1,6 +1,6 @@ ###################################################################### # Logs.pm - This is PyukiWiki, yet another Wiki clone. -# $Id: Logs.pm,v 1.108 2012/01/30 17:32:17 papu Exp $ +# $Id: Logs.pm,v 1.109 2012/01/31 08:55:59 papu Exp $ # # "Nana::Logs" version 0.2 $$ # Author: Nanami @@ -28,10 +28,8 @@ #use Nana::YukiWikiDB_GZIP; use Nana::Cache; use Nana::GZIP; - my @SearchEnginesSearchIDOrder; my @RobotsSearchIDOrder; - sub list { my ($logbase)=@_; my @list; @@ -39,9 +37,7 @@ my $nowmonth=&date("Y\-m"); my %oldmonth; my %olddates; - &init; - foreach my $date (reverse sort keys %db) { my $mon=substr($date,0,7); foreach(split(/\n/,$db{$date})) { @@ -50,7 +46,6 @@ $olddates{$mon}.="$date,"; } $olddates{$mon}=~s/,$//; - foreach my $mon(reverse sort keys %oldmonth) { push @list, { date => $mon, @@ -58,7 +53,6 @@ dates => $olddates{$mon}, }; } - foreach my $date (reverse sort keys %db) { my $c=0; foreach(split(/\n/,$db{$date})) { @@ -70,21 +64,16 @@ dates => $date, }; } - return @list; } - sub analysis { my($lists,$logbase, $timestamp)=@_; my (%db)=%{$logbase}; my (%t)=%{$timestamp}; - &init; - my %dates=(); my %hours=(); my %weeks=(); - my %host=(); my %hosts=(); my %tmpcountries=(); @@ -93,7 +82,6 @@ my %domains=(); my %tmptopdomains=(); my %tmpdomains=(); - my %agents=(); my %uabrowser=(); my %uabrowserver=(); @@ -101,7 +89,6 @@ my %browserversions=(); my %uaos=(); my %os=(); - my %page=(); my $pages=0; my %write=(); @@ -111,50 +98,42 @@ my %attachpost=(); my $attachposts=0; my %users=(); - my %links=(); - my %referers=(); my %allreferers=(); my %searchengine=(); my %keywords=(); - my $counts=0; - my %hash; foreach my $list(split(/,/,$lists)) { %hash=&analysis_sub($db{$list}, $list, $t{$list}); - $counts+=$hash{count}; $pages+=$hash{pagecount}; $writes+=$hash{writes}; $attachdownloads+=$hash{attachdownloads}; $attachuploads+=$hash{attachuploads}; - - &addhash("dates", \%dates, \%hash); - &addhash("hours", \%hours, \%hash); - &addhash("weeks", \%weeks, \%hash); - &addhash("hosts", \%hosts, \%hash); -# &addhash("countries", \%countries, \%hash); - &addhash("topdomains", \%topdomains, \%hash); - &addhash("domains", \%domains, \%hash); - &addhash("uaos", \%os, \%hash); - &addhash("browsertypes", \%browsertypes, \%hash); - &addhash("browserversions", \%browserversions, \%hash); - &addhash("pages", \%page, \%hash); - &addhash("links", \%links, \%hash); - &addhash("write", \%write, \%hash); - &addhash("attachdownload", \%attachdownload, \%hash); - &addhash("attachpost", \%attachpost, \%hash); - &addhash("users", \%users, \%hash); - &addhash("referers", \%referers, \%hash); - &addhash("agents", \%agents, \%hash); - &addhash("allreferers", \%allreferers, \%hash); - &addhash("searchengines", \%searchengine, \%hash); - &addhash("keywords", \%keywords, \%hash); - + foreach(keys %{$hash{"dates"}} ) { $dates{$_}=$hash{"dates"}->{$_}; } + foreach(keys %{$hash{"hours"}} ) { $dates{$_}=$hash{"hours"}->{$_}; } + foreach(keys %{$hash{"weeks"}} ) { $weeks{$_}=$hash{"weeks"}->{$_}; } + foreach(keys %{$hash{"hosts"}} ) { $hosts{$_}=$hash{"hosts"}->{$_}; } +# foreach(keys %{$hash{"countries"}} ) { $countries{$_}=$hash{"countries"}->{$_}; } + foreach(keys %{$hash{"topdomains"}} ) { $topdomains{$_}=$hash{"topdomains"}->{$_}; } + foreach(keys %{$hash{"domains"}} ) { $domains{$_}=$hash{"domains"}->{$_}; } + foreach(keys %{$hash{"uaos"}} ) { $os{$_}=$hash{"uaos"}->{$_}; } + foreach(keys %{$hash{"browsertypes"}} ) { $browsertypes{$_}=$hash{"browsertypes"}->{$_}; } + foreach(keys %{$hash{"browserversions"}} ) { $browserversions{$_}=$hash{"browserversions"}->{$_}; } + foreach(keys %{$hash{"pages"}} ) { $page{$_}=$hash{"pages"}->{$_}; } + foreach(keys %{$hash{"links"}} ) { $links{$_}=$hash{"links"}->{$_}; } + foreach(keys %{$hash{"write"}} ) { $write{$_}=$hash{"write"}->{$_}; } + foreach(keys %{$hash{"attachdownload"}} ) { $attachdownload{$_}=$hash{"attachdownload"}->{$_}; } + foreach(keys %{$hash{"attachpost"}} ) { $attachpost{$_}=$hash{"attachpost"}->{$_}; } + foreach(keys %{$hash{"users"}} ) { $users{$_}=$hash{"users"}->{$_}; } + foreach(keys %{$hash{"referers"}} ) { $referers{$_}=$hash{"referers"}->{$_}; } + foreach(keys %{$hash{"agents"}} ) { $agents{$_}=$hash{"agents"}->{$_}; } + foreach(keys %{$hash{"allreferers"}} ) { $allreferers{$_}=$hash{"allreferers"}->{$_}; } + foreach(keys %{$hash{"searchengines"}} ) { $searchengines{$_}=$hash{"searchengines"}->{$_}; } + foreach(keys %{$hash{"keywords"}} ) { $keywords{$_}=$hash{"keywords"}->{$_}; } } - return( count => $counts, pagecount => $pages, @@ -185,22 +164,11 @@ ); } -sub addhash { - my ($k, $val, $hash)=@_; - my %h=%{$hash{$k}}; - my %v=%{$val}; - foreach (keys $hash->{$k}) { - $$val{$_}=$$hash{$k}->{$_}; - } -} - sub analysis_sub { my ($data, $target, $t)=@_; - my %dates=(); my %hours=(); my %weeks=(); - my %host=(); my %hosts=(); my %tmpcountries=(); @@ -209,7 +177,6 @@ my %domains=(); my %tmptopdomains=(); my %tmpdomains=(); - my %agents=(); my %uabrowser=(); my %uabrowserver=(); @@ -217,7 +184,6 @@ my %browserversions=(); my %uaos=(); my %os=(); - my %page=(); my $pages=0; my %write=(); @@ -227,16 +193,12 @@ my %attachpost=(); my $attachposts=0; my %users=(); - my %links=(); - my %referers=(); my %allreferers=(); my %searchengine=(); my %keywords=(); - my $counts=0; - my $cache=new Nana::Cache ( ext=>"logs", files=>10000, @@ -248,12 +210,7 @@ ); my $timestamp=0; my $cachefile="logs_$target"; - my $buf; - if($logs::compress eq 1) { - $buf=Nana::GZIP::gzipuncompress($cache->read($cachefile,1)); - } else { - $buf=$cache->read($cachefile,1); - } + my $buf=Nana::GZIP::gzipuncompress($cache->read($cachefile,1)); foreach(split(/\n/,$buf)) { my($k,$n,$v)=split(/\f/,$_); $timestamp=$v if($k eq "timestamp"); @@ -300,43 +257,29 @@ $dates{$date}++; $hours{$time_h}++; $weeks{$week}++; - - # ãã¼ã¸ã®ã«ã¦ã³ã if($cmd eq "read") { $page{"$lang\t$page"}++; $pages++; } - - # ãã¼ã¸æ¸ãè¾¼ã¿ã®ã«ã¦ã³ã if(($cmd eq "write" || $cmd=~/edit/ || $cmd=~/comment/ || $cmd=~/article/ || $cmd eq "bugtrack" || $cmd eq "vote") && $method eq "POST") { $write{"$lang\t$page"}++; $writes++; } - - # ãªã³ã¯ã®ã«ã¦ã³ã if($cmd eq "ck") { $links{"$lang\t$page"}++; } - - # æ·»ä»ãã¦ã³ãã¼ãã®ã«ã¦ã³ã if($cmd eq "attach-open") { $attachdownload{"$lang\t$page"}++; $attachdownloads++; } - - # æ·»ä»ã¢ãããã¼ãã®ã«ã¦ã³ã if(($cmd eq "attach-post" || $cmd eq "attach-delete") && $method eq "POST") { $attachpost{"$lang\t$page"}++; $attachposts++; } - - # ã¦ã¼ã¶ã¼ã®ã«ã¦ã³ã $users{$user}++; - - # ãã¹ãã®ã«ã¦ã³ã $hosts{"$hosts ($ip)"}++; my $domain; my $tmpdomain=lc $host; @@ -371,11 +314,8 @@ } $topdomains{$tmptopdomains{$ip}}++; $domains{$tmpdomains{$ip}}++; - - # ãã©ã¦ã¶ã¼ã®ã«ã¦ã³ã $agents{$agent}++; my $browser=lc $agent; - if(! $uaos{$browser}) { foreach my $regex(@OSSearchIDOrder) { if($browser=~/$regex/) { @@ -388,7 +328,6 @@ $uaos{$browser}='Unknown'; } $os{$uaos{$browser}}++; - if(! $uabrowser{$browser}) { my $found = 0; if(!$found) { @@ -429,20 +368,15 @@ } } } - if(!$found) { $uabrowser{$browser}='Unknown'; $uabrowserver{$browser}='Unknown'; } } - $browsertypes{$uabrowser{$browser}}++; $browserversions{$uabrowserver{$browser}}++; - - # ãªã³ã¯å ã®ã«ã¦ã³ã $refer=~s/&/&/g; $found=0; - foreach(@SearchEnginesSearchIDOrder) { if($refer=~/$_/) { $searchengine{$SearchEnginesHashLib{$SearchEnginesHashID{$_}}}++; @@ -459,13 +393,11 @@ } } } - if(!$found) { $referers{$refer}++; } $allreferers{$refer}++; } - $buf=<<EOM; timestamp\f\f$t count\f\f$counts @@ -496,12 +428,7 @@ foreach(keys %allreferers) { $buf.="allreferers\f$_\f$allreferers{$_}\n"; } foreach(keys %searchengine) { $buf.="searchengines\f$_\f$searchengine{$_}\n"; } foreach(keys %keywords) { $buf.="keywords\f$_\f$keywords{$_}\n"; } - - if($logs::compress eq 1) { - $cache->write($cachefile,Nana::GZIP::gzipcompress($buf)); - } else { - $cache->write($cachefile,$buf); - } + $cache->write($cachefile,Nana::GZIP::gzipcompress($buf)); } return( count => $counts, @@ -532,7 +459,6 @@ keywords => \%keywords, ); } - sub target { my ($html)=shift; if($::htmlmode=~/xhtml/) { @@ -542,12 +468,10 @@ } return $html; } - sub UnCompileRegex { shift =~ /\(\?[-\w]*:(.*)\)/; return $1; } - sub init { if($LOGS::Load eq 0) { require "$::explugin_dir/AWS/browsers.pm"; @@ -556,31 +480,24 @@ require "$::explugin_dir/AWS/robots.pm"; require "$::explugin_dir/AWS/search_engines.pm"; $LOGS::Load=1; - push(@SearchEnginesSearchIDOrder, @SearchEnginesSearchIDOrder_list1); push(@SearchEnginesSearchIDOrder, @SearchEnginesSearchIDOrder_list2); - push(@RobotsSearchIDOrder, @RobotsSearchIDOrder_list1); push(@RobotsSearchIDOrder, @RobotsSearchIDOrder_list2); push(@RobotsSearchIDOrder, @RobotsSearchIDOrder_listgen); - } } - sub date { my $funcp = $::functions{"date"}; return &$funcp(@_); } - sub code_convert { my $funcp = $::functions{"code_convert"}; return &$funcp(@_); } - sub decode { my $funcp = $::functions{"decode"}; return &$funcp(@_); } - 1; __END__ Index: PyukiWiki-Devel-UTF8/lib/Nana/Mail.pm diff -u PyukiWiki-Devel-UTF8/lib/Nana/Mail.pm:1.252 PyukiWiki-Devel-UTF8/lib/Nana/Mail.pm:1.253 --- PyukiWiki-Devel-UTF8/lib/Nana/Mail.pm:1.252 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/Mail.pm Tue Jan 31 17:55:59 2012 @@ -1,6 +1,6 @@ ###################################################################### # Mail.pm - This is PyukiWiki, yet another Wiki clone. -# $Id: Mail.pm,v 1.252 2012/01/30 17:32:17 papu Exp $ +# $Id: Mail.pm,v 1.253 2012/01/31 08:55:59 papu Exp $ # # "Nana::Mail" version 0.3 $$ # Author: Nanami Index: PyukiWiki-Devel-UTF8/lib/Nana/Pod2Wiki.pm diff -u PyukiWiki-Devel-UTF8/lib/Nana/Pod2Wiki.pm:1.252 PyukiWiki-Devel-UTF8/lib/Nana/Pod2Wiki.pm:1.253 --- PyukiWiki-Devel-UTF8/lib/Nana/Pod2Wiki.pm:1.252 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/Pod2Wiki.pm Tue Jan 31 17:55:59 2012 @@ -1,6 +1,6 @@ ###################################################################### # Pod2Wiki.pm - This is PyukiWiki, yet another Wiki clone. -# $Id: Pod2Wiki.pm,v 1.252 2012/01/30 17:32:17 papu Exp $ +# $Id: Pod2Wiki.pm,v 1.253 2012/01/31 08:55:59 papu Exp $ # # "Nana::Pod2Wiki" version 0.1 $$ # Author: Nanami Index: PyukiWiki-Devel-UTF8/lib/Nana/Search.pm diff -u PyukiWiki-Devel-UTF8/lib/Nana/Search.pm:1.252 PyukiWiki-Devel-UTF8/lib/Nana/Search.pm:1.253 --- PyukiWiki-Devel-UTF8/lib/Nana/Search.pm:1.252 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/Search.pm Tue Jan 31 17:55:59 2012 @@ -1,6 +1,6 @@ ###################################################################### # Search.pm - This is PyukiWiki, yet another Wiki clone. -# $Id: Search.pm,v 1.252 2012/01/30 17:32:17 papu Exp $ +# $Id: Search.pm,v 1.253 2012/01/31 08:55:59 papu Exp $ # # "Nana::Search" version 0.5 $$ # Author: Nanami Index: PyukiWiki-Devel-UTF8/lib/Nana/Search.pm.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/Nana/Search.pm.ja.pod:1.252 PyukiWiki-Devel-UTF8/lib/Nana/Search.pm.ja.pod:1.253 --- PyukiWiki-Devel-UTF8/lib/Nana/Search.pm.ja.pod:1.252 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/Search.pm.ja.pod Tue Jan 31 17:55:59 2012 @@ -1,4 +1,4 @@ -#$Id: Search.pm.ja.pod,v 1.252 2012/01/30 17:32:17 papu Exp $ +#$Id: Search.pm.ja.pod,v 1.253 2012/01/31 08:55:59 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/Nana/YukiWikiDB.pm diff -u PyukiWiki-Devel-UTF8/lib/Nana/YukiWikiDB.pm:1.253 PyukiWiki-Devel-UTF8/lib/Nana/YukiWikiDB.pm:1.254 --- PyukiWiki-Devel-UTF8/lib/Nana/YukiWikiDB.pm:1.253 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/YukiWikiDB.pm Tue Jan 31 17:55:59 2012 @@ -1,6 +1,6 @@ ###################################################################### # YukiWikiDB.pm - This is PyukiWiki, yet another Wiki clone. -# $Id: YukiWikiDB.pm,v 1.253 2012/01/30 17:32:17 papu Exp $ +# $Id: YukiWikiDB.pm,v 1.254 2012/01/31 08:55:59 papu Exp $ # # "Nana::YukiWikiDB" version 0.6 $$ # Author: Nanami Index: PyukiWiki-Devel-UTF8/lib/Nana/YukiWikiDB_GZIP.pm diff -u PyukiWiki-Devel-UTF8/lib/Nana/YukiWikiDB_GZIP.pm:1.157 PyukiWiki-Devel-UTF8/lib/Nana/YukiWikiDB_GZIP.pm:1.158 --- PyukiWiki-Devel-UTF8/lib/Nana/YukiWikiDB_GZIP.pm:1.157 Tue Jan 31 02:32:17 2012 +++ PyukiWiki-Devel-UTF8/lib/Nana/YukiWikiDB_GZIP.pm Tue Jan 31 17:55:59 2012 @@ -1,6 +1,6 @@ ###################################################################### # YukiWikiDB_GZIP.pm - This is PyukiWiki, yet another Wiki clone. -# $Id: YukiWikiDB_GZIP.pm,v 1.157 2012/01/30 17:32:17 papu Exp $ +# $Id: YukiWikiDB_GZIP.pm,v 1.158 2012/01/31 08:55:59 papu Exp $ # # "Nana::YukiWikiDB_GZIP" version 0.6 $$ # Author: Nanami