summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/listsupportedprinters
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/listsupportedprinters')
-rwxr-xr-xperl-install/standalone/listsupportedprinters64
1 files changed, 64 insertions, 0 deletions
diff --git a/perl-install/standalone/listsupportedprinters b/perl-install/standalone/listsupportedprinters
new file mode 100755
index 000000000..efd334409
--- /dev/null
+++ b/perl-install/standalone/listsupportedprinters
@@ -0,0 +1,64 @@
+#!/usr/bin/perl
+#
+# Copyright (C) 2003-2004 Mandrakesoft
+#
+# Till Kamppeter <till@mandrakesoft.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License Version 2 as
+# published by the Free Software Foundation.
+#
+# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+use strict;
+use lib qw(/usr/lib/libDrakX);
+use standalone;
+use printer::main;
+
+# Data structure for printer data
+my $printer;
+
+# printer::main::read_printer_db() needs a spooler name ...
+$printer->{SPOOLER} = 'cups';
+
+# ... and the user mode (expert mode gives us more info)
+$printer->{expert} = 1;
+
+# Read the command line options
+my $commandline = join ('', @ARGV);
+
+# HELP !!!
+$commandline =~ /-(h\b|help)/i and print "
+Uasge: $ARGV[0] [--only-models] [--help]
+
+Shows list of supported printers and the drivers which support them.
+Manufacturer-supplied PPDs of native PostScript printers, manually added
+drivers, or installed updates are taken into account.
+
+--only-models: Show only the model names, not the drivers
+
+--help: This help page.
+
+" and exit 0;
+
+# Do we only need models and not drivers? Beginner's mode gives us the
+# needed info then.
+$commandline =~ /-only-models/i and $printer->{expert} = 0;
+
+# Build the list of supported printers
+printer::main::read_printer_db($printer, $printer->{SPOOLER});
+
+# Show the list on STDOUT
+foreach my $item (sort keys %printer::main::thedb) {
+ print "$item\n";
+}
+
+