Group :: Other
RPM: fusioninventory-agent
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: fusioninventory-agent-track-usb-printers.patch
Download
Download
diff --git a/lib/FusionInventory/Agent/Task/Inventory/Generic/Printers.pm b/lib/FusionInventory/Agent/Task/Inventory/Generic/Printers.pm
index fae279f..1522e40 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Generic/Printers.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Generic/Printers.pm
@@ -50,21 +50,32 @@ sub doInventory {
my @printers = $cups->getDestinations();
foreach my $printer (@printers) {
- my $uri = $printer->getUri();
- my $name = $uri;
- $name =~ s/^.*\/\/([^\.]*).*$/$1/eg ;
- $name =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
- $inventory->addEntry(
- section => 'PRINTERS',
- entry => {
- NAME => $name,
- PORT => $uri,
- DESCRIPTION => $printer->getDescription(),
- DRIVER => $printer->getOptionValue(
- "printer-make-and-model"
- ),
- }
- );
+ my $uri = $printer->getOptionValue("device-uri");
+ $uri =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
+ my ($serial,$network,$shared,$port)='';
+ if ($uri =~ /usb/){
+ $serial = $uri;
+ $network=0;
+ $shared=0;
+ $port='USB';
+ $serial =~ s/^.*\?serial\=//g;
+ $serial =~ s/\&.*//g;
+ my $name = $printer->getUri();
+ $name =~ s/^.*\/\/([^\.]*).*$/$1/eg ;
+ $name =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
+ $inventory->addEntry(
+ section => 'PRINTERS',
+ entry => {
+ NAME => $name,
+ PORT => $port,
+ DESCRIPTION => $printer->getDescription(),
+ DRIVER => $printer->getOptionValue(
+ "printer-make-and-model"
+ ),
+ SERIAL => $serial,
+ }
+ );
+ }
}
}