4 # Copyright (C) 2008 Michal Vaner (vorner@ucw.cz)
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # he Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29 my $dbh = connectDb();
30 my $query = $dbh->prepare( "INSERT INTO locations (id, name, note, parent) VALUES(?, ?, ?, ?);" ) or die "Could not create the query (".DBI->errstr.")\n";
31 my $comment = $dbh->prepare( "INSERT INTO history (location, nodename, nodenote, seen) VALUES(?, ?, ?, '1')" ) or die "Could not create query (".DBI->errstr.")\n";
32 my $update = $dbh->prepare( "UPDATE locations SET mainhistory = ? WHERE id = ?" ) or die "Could not create query (".DBI->errstr.")\n";
33 my( $vendor, $type, $sub, $description, $name );
35 $query->execute( "PC", undef, undef, undef ) or die "Could not add toplevel node\n";
36 $query->execute( "PD", undef, undef, undef ) or die "Could not add toplevel node\n";
41 $parent =~ s/\/[^\/]+$//;
42 $query->execute( $id, $name, $description, $parent );
43 $comment->execute( $id, $name, $description );
44 my $com = $dbh->last_insert_id( undef, undef, undef, undef );
45 $update->execute( $com, $id );
49 print "Filling database from id file\n";
58 if( $vendor =~ /^PC/ ) {
59 ( $sub, $name ) = /^\s*([0-9a-fA-F]+\s[0-9a-fA-F]+)\s+(.*)$/;
62 ( $sub, $name ) = /^\s*([0-9a-fA-F]+)\s+(.*)$/;
64 submit( $vendor.'/'.$type.'/'.$sub );
66 ( $type, $name ) = /^\s*([0-9a-fA-F]+)\s+(.*)$/;
67 submit( $vendor.'/'.$type );
69 ( $vendor, $name ) = /^C\s+([0-9a-fA-F]+)\s+(.*)$/;
70 $vendor = 'PD/'.$vendor;
72 } elsif( /^[0-9a-fA-F]/ ) {
73 ( $vendor, $name ) = /([0-9a-fA-F]+)\s+(.*)$/;
74 $vendor = 'PC/'.$vendor;