summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xperl-install/scanner.pm7
-rwxr-xr-xperl-install/standalone/scannerdrake14
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});
}
}