added ask(prompt|default) in scripts to interactivly ask questions,
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 26 Oct 2007 18:12:10 +0000 (18:12 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 26 Oct 2007 18:12:10 +0000 (18:12 +0000)
IP adress of modem is first (optional) param

git-svn-id: https://perl-cwmp.googlecode.com/svn/trunk@129 836a5e1a-633d-0410-964b-294494ad4392

scripts/change-ip.txt
scripts/delete-ip.txt [new file with mode: 0644]
scripts/tcli.pl

index 609aa87..a2d042a 100644 (file)
@@ -1,4 +1,4 @@
-:ip ipadd intf=LocalNetwork addr=192.168.1.242
+:ip ipadd intf=LocalNetwork addr=ask(New IP:|192.168.1.250)
 :ip iplist
 :ip ipdelete addr=192.168.1.254
 :ip iplist
diff --git a/scripts/delete-ip.txt b/scripts/delete-ip.txt
new file mode 100644 (file)
index 0000000..8db39b3
--- /dev/null
@@ -0,0 +1,3 @@
+:ip iplist
+:ip ipdelete addr=ask(IP:|192.168.1.250)
+:ip iplist
index e3786c3..eede562 100755 (executable)
@@ -3,16 +3,35 @@
 use strict;
 use Expect;
 use Net::Telnet;
+use Data::Dump qw/dump/;
 
 my $modem = '10.0.0.138';
+$modem = shift @ARGV if $#ARGV > 1;
+
 my @commands = (
 ':system config led=flash',
 );
 
+warn "ARGV = ",dump( $ARGV );
+
+sub ask {
+       my ( $prompt, $default ) = @_;
+       warn "## ask $prompt [default]";
+       print "$prompt [$default] ";
+       my $in = <STDIN>;
+       chomp($in);
+       $in = $default unless length($in) > 1;
+       return $in;
+}
+
 while(<>) {
        chomp;
        next if (/^#/ || /^\s*$/);
-       push @commands, $_;
+       my $l = $_;
+       warn "--$_--";
+       $l =~ s/ask\(([^|\)]+)(?:\|([^\)]+))?\)/ask($1,$2)/eg;
+       warn "++ $l\n";
+       push @commands, $l;
 }
 
 push @commands, ':system config led=off';