summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-07-04 10:50:36 +0800
committerin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-07-04 10:50:36 +0800
commit23fd54faa139a94e1d5ba7c548e6173affe9a836 (patch)
treecd0e4d71b16e262b1cbae16f1fc6bd4e7a6e12d5
parent8788bd126f858813b2ef854886f6dba2798fa418 (diff)
downloadpttbbs-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-xpttbbs/staticweb/manbuilder.pl29
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{$_});
}
}