From 899f293944ef786470f73e7497da3453313cb320 Mon Sep 17 00:00:00 2001 From: Till Kamppeter Date: Tue, 20 Aug 2002 16:48:20 +0000 Subject: - Let all occurences of "Seiko Epson" replaced by "Epson" both in the scanner names read from the ScannerDB and in the names resulting from scanner auto-detection (names from usbtable). So the user gets presented "Epson" and usbtable can have "Epson" names where ScannerDB can have "Seiko Epson" names. - If a scanner is listed as "unsupported" in ScannerDB, the user gets a message instead of scannerdrake silently exiting. --- perl-install/scanner.pm | 7 ++++++- perl-install/standalone/scannerdrake | 14 +++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/perl-install/scanner.pm b/perl-install/scanner.pm index b3a4a8a52..d8716c84d 100755 --- a/perl-install/scanner.pm +++ b/perl-install/scanner.pm @@ -56,6 +56,7 @@ sub detect { foreach (grep { $_->{driver} =~ /scanner/ } detect_devices::usb_probe()) { #my ($manufacturer, $model) = split '\|', $_->{description}; #$_->{description} =~ s/Hewlett[-\s_]Packard/HP/; + $_->{description} =~ s/Seiko\s+Epson/Epson/i; push @res, { port => "/dev/usb/scanner$i", val => { #CLASS => 'SCANNER', #MODEL => $model, #MANUFACTURER => $manufacturer, @@ -66,6 +67,7 @@ sub detect { ++$i; } foreach (grep { $_->{media_type} =~ /scanner/ } detect_devices::getSCSI()) { + $_->{info} =~ s/Seiko\s+Epson/Epson/i; push @res, { port => "/dev/sg", val => { DESCRIPTION => $_->{info} }, }; @@ -85,10 +87,13 @@ sub readScannerDB { my $fs = { LINE => sub { push @{$card->{lines}}, $val }, NAME => sub { - $cards{$card->{type}} = $card if ($card and !$card->{flags}{unsupported}); + #$cards{$card->{type}} = $card if ($card and !$card->{flags}{unsupported}); + $cards{$card->{type}} = $card if ($card); + $val =~ s/Seiko\s+Epson/Epson/i; $card = { type => $val }; }, SEE => sub { + $val =~ s/Seiko\s+Epson/Epson/i; my $c = $cards{$val} or die "Error in database, invalid reference $val at line $lineno"; push @{$card->{lines}}, @{$c->{lines} || []}; diff --git a/perl-install/standalone/scannerdrake b/perl-install/standalone/scannerdrake index 5a8c7066c..4ce8c5add 100755 --- a/perl-install/standalone/scannerdrake +++ b/perl-install/standalone/scannerdrake @@ -49,6 +49,10 @@ sub auto { if (member($_->{val}{DESCRIPTION}, keys %$scanner::scannerDB)) { my $name = $_->{val}{DESCRIPTION}; $name =~ s/\s$//; #some HP entry have a trailing space, i will correct usbtable asap + if ($scanner::scannerDB->{$name}{flags}{unsupported}) { + $in->ask_warn('scannerdrake', _("The %s is not supported by this version of Mandrake Linux.", $name)); + return; + } $in->ask_yesorno('scannerdrake',_("%s found on %s, configure it?",$name,$_->{port}),1) or manual(); tryConfScanner($name, $_->{port}); } else { @@ -60,15 +64,23 @@ sub auto { sub manual { my $s = $in->ask_from_treelist('scannerdrake', _("Select a scanner"), '|', [' None', keys %$scanner::scannerDB], '') or return; return if $s eq ' None'; + if ($scanner::scannerDB->{$s}{flags}{unsupported}) { + $in->ask_warn('scannerdrake', _("The %s is not supported by this version of Mandrake Linux.", $s)); + return; + } tryConfScanner($s); } sub dynamic { @f = scanner::detect(); foreach (@f) { - if (member($_->{val}{DESCRIPTION}), keys %$scanner::scannerDB) { + if (member($_->{val}{DESCRIPTION}, keys %$scanner::scannerDB)) { my $name = $_->{val}{DESCRIPTION}; $name =~ s/\s$//; #some HP entry have a trailing space, i will correct usbtable asap + if ($scanner::scannerDB->{$name}{flags}{unsupported}) { + $in->ask_warn('scannerdrake', _("The %s is not supported by this version of Mandrake Linux.", $name)); + return; + } scanner::confScanner($name, $_->{port}) unless ($scanner::scannerDB->{$model}{flags}{unsupported}); } } -- cgit v1.2.1