]> mj.ucw.cz Git - pciids.git/blobdiff - scripts/export.pl
cf/head.ids: Clarify copyright
[pciids.git] / scripts / export.pl
index 84e2aab7e031cf2b5260f9f4756039c89b4a2d9f..145f34dd277dfd64abcfa08a535f1090fbb5761d 100755 (executable)
@@ -1,5 +1,23 @@
 #!/usr/bin/perl
 
+#      PciIds web database
+#      Copyright (C) 2008 Michal Vaner (vorner@ucw.cz)
+#
+#      This program is free software; you can redistribute it and/or modify
+#      it under the terms of the GNU General Public License as published by
+#      he Free Software Foundation; either version 2 of the License, or
+#      (at your option) any later version.
+#
+#      This program is distributed in the hope that it will be useful,
+#      but WITHOUT ANY WARRANTY; without even the implied warranty of
+#      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#
+#      GNU General Public License for more details.
+#
+#      You should have received a copy of the GNU General Public License
+#      along with this program; if not, write to the Free Software
+#      Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
 use strict;
 use warnings;
 BEGIN {
@@ -8,13 +26,17 @@ BEGIN {
 use PciIds::Db;
 use PciIds::DBQAny;
 
+my $tree = shift;
+
+die "Specify tree to dump as a first parameter\n" unless defined $tree;
+
 my $db = PciIds::DBQAny::new( connectDb(), {
-       'list' => 'SELECT id, name, note FROM locations WHERE id like "PC/%" OR id like "PD/%" ORDER BY id'
+       'list' => 'SELECT id, name, note FROM locations WHERE id like ? ORDER BY id'
 } );
 
 my $lastInvalid = undef;
 
-foreach( @{$db->query( 'list', [] )} ) {
+foreach( @{$db->query( 'list', [ "$tree/%" ] )} ) {
        my( $id, $name, $description ) = @{$_};
        next if defined $lastInvalid and substr( $id, 0, length $lastInvalid ) eq $lastInvalid;
        if( !defined $name || $name eq '' ) {
@@ -29,12 +51,12 @@ foreach( @{$db->query( 'list', [] )} ) {
        my $tabs = $_;
        $id =~ s/.*\///;
        $id =~ s/([0-9a-f]{4})([0-9a-f]{4})/$1 $2/;
-       print "$tabs$prefix$id  $name\n";
        if( defined( $description ) && ( $description ne '' ) ) {
                chomp $description;
-               $description =~ s/\n/\n$tabs#/g;
-               print "$tabs# $description\n";
+               $description =~ s/\n/\n/g;
+               print "# $description\n";
        }
+       print "$tabs$prefix$id  $name\n";
 }
 
 $db->commit();