fix space before semicolumn
[APKPM.git] / lib / H1 / ZTEDSLAM.pm
1 package H1::ZTEDSLAM;
2 use Moose;
3
4 with 'H1::ZTE';
5
6 sub connect {
7         my ( $self, $ip ) = @_;
8
9         my $t = Net::Telnet->new( Timeout => 10, Prompt => '/#/' );
10
11         $t->dump_log('/tmp/log') if $ENV{DEBUG};
12
13         $t->open( $ip );
14
15         $t->print("");
16         $t->waitfor('/Login:/');
17         $t->print('admin');
18         $t->waitfor('/Password:/');
19         $t->print('admin');
20         $t->waitfor('/>/');
21         $t->print('en');
22         $t->waitfor('/Please input password:/');
23         $t->print('admin');
24         $t->waitfor('/#/');
25
26         warn "login OK";
27
28         return $t;
29 }
30
31
32 sub parse {
33         my ( $self, $out ) = @_;
34
35         my $hash;
36         foreach my $line ( split(/[\n\r]+/, $out) ) {
37                 warn "# $line\n" if $ENV{DEBUG};
38                 if ( $line =~ m/^(\S+.*?)\s*:\s+(\S+.*)$/ ) {
39                         my ($n,$v) = ($1,$2);
40                         $n =~ s/\(.+\)//;
41                         $hash->{$n} = $v;
42                         warn "## $n = $v\n" if $ENV{DEBUG};
43                 }
44
45         }
46
47         return $hash;
48 }
49
50 sub commands {{
51         'show interface %s' => [ qw(
52 AdminStatus
53 LinkStatus
54 LastLinkUpTime
55         )],
56         'show adsl status %s' => [ qw(
57 LineConfProfile
58         )],
59         'show adsl physical %s' => [ qw(
60 AtucCurrSnrMgn
61 AtucCurrAtn
62 AtucCurrStatus
63 AtucOutputPwr
64 AtucAttainableRate
65 AtucDMTState
66 AtucPrevSnrMgn
67 AturCurrAtn
68 AturCurrStatus
69 AturCurrOutputPwr
70 AturAttainableRate
71 AturDMTState
72         )],
73 }}
74
75 1;
76