diff options
-rwxr-xr-x | perl-install/scanner.pm | 7 | ||||
-rwxr-xr-x | 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}); } } |