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
31 die "Specify tree to dump as a first parameter\n" unless defined $tree;
33 my $db = PciIds::DBQAny::new( connectDb(), {
34 'list' => 'SELECT id, name, note FROM locations WHERE id like ? ORDER BY id'
37 my $lastInvalid = undef;
39 foreach( @{$db->query( 'list', [ "$tree/%" ] )} ) {
40 my( $id, $name, $description ) = @{$_};
41 next if defined $lastInvalid and substr( $id, 0, length $lastInvalid ) eq $lastInvalid;
42 if( !defined $name || $name eq '' ) {
47 my $prefix = ( /^PD\/..$/ ) ? 'C ' : '';
53 $id =~ s/([0-9a-f]{4})([0-9a-f]{4})/$1 $2/;
54 if( defined( $description ) && ( $description ne '' ) ) {
56 $description =~ s/\n/\n# /g;
57 print "# $description\n";
59 print "$tabs$prefix$id $name\n";