use only non-whitespace chars
[APKPM.git] / lib / H1 / Davolink.pm
1 package H1::Davolink;
2 use warnings;
3 use strict;
4
5 use Net::Telnet;
6
7 sub info {
8         my ( $self, $ip ) = @_;
9
10         my $telnet = new Net::Telnet (Telnetmode => 1);
11         $telnet->open(Host => $ip,Port => 23);
12         $telnet->login('support','support');
13
14         my $rec;
15
16         foreach my $line ( $telnet->cmd("adsl info --show") ) {
17                 chomp $line;
18                 if ( $line =~ /^([^:]+):\s+(\S+)\s+(\S+)\s*$/ ) {
19                         my $name = $1;
20                         my ( $down, $up ) = ( $2,$3 );
21                         $name =~ s/\s*\(.+?\)//g;
22                         $name =~ s/\s+/_/g;
23
24                         $rec->{"${name}_down"} = $down;
25                         $rec->{"${name}_up"}   = $up;
26                         warn "## $line\n";
27                 } else {
28                         warn "#S $line\n";
29                 }
30         }
31         foreach my $line ( $telnet->cmd("ifconfig br0") ) {
32                 chomp $line;
33                 if ($line=~/^br0.*/) {
34                         my ($mac) = ($line=~/^br0.*HWaddr\s(\S+)/);
35                         $rec->{"MAC"} = $mac;
36                 }
37         }
38         return $rec;
39 }
40
41 1;