Annotation of db/prgsrc/updateindex.pl, revision 1.1
1.1 ! boris 1: #!/usr/local/bin/perl -w
! 2:
! 3: =head1 NAME
! 4:
! 5: updateindex.pl - a script for creation of new database.
! 6:
! 7: =head1 SYNOPSIS
! 8:
! 9: updateind.pl [B<-i> I<indexfile>]
! 10:
! 11:
! 12: =head1 DESCRIPTION
! 13:
! 14: Upadets metainformation in the B<chgk> databse. Uses file
! 15: L<./index> unless [B<-i>] option is used
! 16:
! 17: An example of the index file follows:
! 18:
! 19:
! 20: =head1 BUGS
! 21:
! 22: The database, user and password are hardcoded.
! 23:
! 24: =head1 SEE ALSO
! 25:
! 26: createindex.pl(1)
! 27:
! 28: =head1 AUTHOR
! 29:
! 30: Boris Veytsman
! 31:
! 32: =head1 $Id: updatem.pl,v 1.3 2000/10/17 01:53:44 boris Exp $
! 33:
! 34: =cut
! 35:
! 36: use strict;
! 37: use vars qw($opt_m);
! 38:
! 39: use Getopt::Std;
! 40: use DBI;
! 41:
! 42: MAIN:
! 43: {
! 44: getopts('m:') or die "Wrong options";
! 45: my($source) = $opt_m || 'meta';
! 46: my($depth, @depthId);
! 47: my($dbh) = DBI->connect("DBI:mysql:chgk", "piataev", "")
! 48: or die "Can't connect to DB chgk\n";
! 49:
! 50: open INFD, $source or die "Can't open input file: $!\n";
! 51: while (<INFD>) {
! 52: my $MetaId;
! 53: s/^\[(\d*)\]\t//;
! 54: $MetaId = $1;
! 55: s/^(\t*)//;
! 56: chomp;
! 57: $depth = length($1);
! 58: my $title = $dbh->quote($_);
! 59: my $ParentId = ($depth) ? $depthId[$depth - 1] : 0;
! 60: my ($sth) = $dbh->prepare("SELECT Id FROM Tournaments WHERE
! 61: MetaId=$MetaId");
! 62: $sth->execute;
! 63: if ($sth->fetchrow) {
! 64: print "$title is already in the DB!\n";
! 65: next;
! 66: }
! 67: $sth = $dbh->prepare("INSERT INTO Tournaments
! 68: (Title, ParentId, MetaId, Type)
! 69: VALUES ($title, $ParentId, $MetaId, 'ç')");
! 70: $sth->execute;
! 71: my $Id = $sth->{'mysql_insertid'};
! 72: $depthId[$depth] = $Id;
! 73: }
! 74: $dbh->disconnect;
! 75: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>