[LON-CAPA-cvs] cvs: loncom / lonManage

foxr lon-capa-cvs@mail.lon-capa.org
Tue, 12 Aug 2003 10:22:36 -0000


foxr		Tue Aug 12 06:22:36 2003 EDT

  Modified files:              
    /loncom	lonManage 
  Log:
  Put in parameter parsing infrastructure
  
  
Index: loncom/lonManage
diff -u loncom/lonManage:1.2 loncom/lonManage:1.3
--- loncom/lonManage:1.2	Tue Aug 12 05:58:49 2003
+++ loncom/lonManage	Tue Aug 12 06:22:35 2003
@@ -3,9 +3,9 @@
 #
 #  lonManage supports remote management of nodes in a LonCAPA cluster.
 #
-#  $Id: lonManage,v 1.2 2003/08/12 09:58:49 foxr Exp $
+#  $Id: lonManage,v 1.3 2003/08/12 10:22:35 foxr Exp $
 #
-# $Id: lonManage,v 1.2 2003/08/12 09:58:49 foxr Exp $
+# $Id: lonManage,v 1.3 2003/08/12 10:22:35 foxr Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -50,24 +50,28 @@
 #    not the IP address of the host.
 #
 #  $Log: lonManage,v $
+#  Revision 1.3  2003/08/12 10:22:35  foxr
+#  Put in parameter parsing infrastructure
+#
 #  Revision 1.2  2003/08/12 09:58:49  foxr
 #  Add usage and skeleton documentation.
 #
 #
+use Getopt::Long;
 
-sub Usage {} {
+sub Usage  {
     print "Usage:";
     print <<USAGE;
-    lonManage  -push   <tablename>  newfile  host
+    lonManage  --push=<tablename>  newfile  host
         Push <tablename> to the lonTabs directory.  Note that
         <tablename> must be one of:
            hosts  (hosts.tab)
            domain (domain.tab)
 
-    lonManage  -reinit lonc host
+    lonManage  --reinit=lonc host
            Sends a HUP signal to the remote systems's lond.
 
-    lonmanage  -reinit lond host
+    lonmanage  --reinit=lond host
           Requests the remote system's lond perform the same action as if
           it had received a HUP signal.
 
@@ -79,9 +83,32 @@
 }
 
 #
+#  Use Getopt::Long to parse the parameters of the program.
+#
+#  Return value is a list consisting of:
+#    A 'command' which is one of:
+#       push   - table push requested.
+#       reinit - reinit requested.
+#   Additional parameters as follows:
+#       for push: Tablename, hostname
+#       for reinit: Appname  hostname
+#
+#   This function does not validation of the parameters of push and
+#   reinit.
+#   returns an empty list if the parse fails.
+#
+
+sub ParseArgs {
+    return ();
+}
+
+#
 #    If command parsing failed, then print usage:
 
-if(0) {
+@status = ParseArgs;=
+$nparam   = @status;
+
+if($nparam == 0) {
     Usage;
 }
 
@@ -92,16 +119,16 @@
 =head1 SYNOPSIS
 
 Usage:
-    B<lonManage  -push   <tablename>  newfile  host>
+    B<lonManage  --push=<tablename>  newfile  host>
         Push <tablename> to the lonTabs directory.  Note that
         <tablename> must be one of:
            hosts  (hosts.tab)
            domain (domain.tab)
 
-    B<lonManage  -reinit lonc host>
+    B<lonManage  --reinit=lonc host>
            Sends a HUP signal to the remote systems's lond.
 
-    B<lonmanage  -reinit lond host>
+    B<lonmanage  --reinit=lond host>
           Requests the remote system's lond perform the same action as if
           it had received a HUP signal.
 
@@ -112,6 +139,8 @@
 =head1 DESCRIPTION
 
 =head1 PREREQUISITES
+
+=item Getopt::Long
 
 =head1  CATEGORIES
     Command line utility