diff options
author | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-07-04 10:50:36 +0800 |
---|---|---|
committer | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-07-04 10:50:36 +0800 |
commit | 23fd54faa139a94e1d5ba7c548e6173affe9a836 (patch) | |
tree | cd0e4d71b16e262b1cbae16f1fc6bd4e7a6e12d5 | |
parent | 8788bd126f858813b2ef854886f6dba2798fa418 (diff) | |
download | pttbbs-23fd54faa139a94e1d5ba7c548e6173affe9a836.tar pttbbs-23fd54faa139a94e1d5ba7c548e6173affe9a836.tar.gz pttbbs-23fd54faa139a94e1d5ba7c548e6173affe9a836.tar.bz2 pttbbs-23fd54faa139a94e1d5ba7c548e6173affe9a836.tar.lz pttbbs-23fd54faa139a94e1d5ba7c548e6173affe9a836.tar.xz pttbbs-23fd54faa139a94e1d5ba7c548e6173affe9a836.tar.zst pttbbs-23fd54faa139a94e1d5ba7c548e6173affe9a836.zip |
build .idx from .db
git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk@1015 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rwxr-xr-x | pttbbs/staticweb/manbuilder.pl | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/pttbbs/staticweb/manbuilder.pl b/pttbbs/staticweb/manbuilder.pl index a6020357..dda94a8a 100755 --- a/pttbbs/staticweb/manbuilder.pl +++ b/pttbbs/staticweb/manbuilder.pl @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: manbuilder.pl,v 1.7 2003/07/03 14:01:36 in2 Exp $ +# $Id: manbuilder.pl,v 1.8 2003/07/04 02:50:36 in2 Exp $ use lib '/home/bbs/bin/'; use strict; use OurNet::FuzzyIndex; @@ -20,11 +20,28 @@ sub main ); foreach( @ARGV ){ - tie %db, 'DB_File', "$_.db", O_CREAT | O_RDWR, 0666, $DB_HASH; - $idx = OurNet::FuzzyIndex->new("$_.idx") - if( !$Getopt::Std::opt_n ); - build("/home/bbs/man/boards/".substr($_, 0, 1)."/$_", ''); - untie %db; + if( /\.db$/ ){ + next if( $Getopt::Std::opt_n ); + + tie %db, 'DB_File', $_, O_RDONLY, 0666, $DB_HASH; + $idx = OurNet::FuzzyIndex->new(substr($_, 0, -3). '.idx'); + buildidx(); + } + else{ + tie %db, 'DB_File', "$_.db", O_CREAT | O_RDWR, 0666, $DB_HASH; + $idx = OurNet::FuzzyIndex->new("$_.idx") + if( !$Getopt::Std::opt_n ); + build("/home/bbs/man/boards/".substr($_, 0, 1)."/$_", ''); + untie %db; + } + } +} + +sub buildidx +{ + foreach( keys %db ){ + next if( /^title/ || /\/$/ ); # 是 title 或目錄的都跳過 + $idx->insert($_, $db{"title-$_"}. "\n". $db{$_}); } } |