gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r23210 - gnunet-planetlab/gplmt/scripts


From: gnunet
Subject: [GNUnet-SVN] r23210 - gnunet-planetlab/gplmt/scripts
Date: Mon, 13 Aug 2012 17:16:37 +0200

Author: wachs
Date: 2012-08-13 17:16:37 +0200 (Mon, 13 Aug 2012)
New Revision: 23210

Modified:
   gnunet-planetlab/gplmt/scripts/add_slice_to_all_nodes.py
   gnunet-planetlab/gplmt/scripts/add_slice_to_nodes.py
   gnunet-planetlab/gplmt/scripts/delete_slice_from_nodes.py
   gnunet-planetlab/gplmt/scripts/getmynodes.py
Log:
improve arg handling

Modified: gnunet-planetlab/gplmt/scripts/add_slice_to_all_nodes.py
===================================================================
--- gnunet-planetlab/gplmt/scripts/add_slice_to_all_nodes.py    2012-08-13 
09:07:20 UTC (rev 23209)
+++ gnunet-planetlab/gplmt/scripts/add_slice_to_all_nodes.py    2012-08-13 
15:16:37 UTC (rev 23210)
@@ -1,28 +1,50 @@
 #!/usr/bin/python
 
 # Add slice to all available nodes in state "booted" 
+import getopt, sys, xmlrpclib
 
+def usage():
+    print "GNUnet PlanetLab deployment and automation toolset\n\
+Arguments mandatory for long options are also mandatory for short options.\n\
+  -u, --user=      Planetlab username\n\
+  -p, --password=  Planetlab password\n\
+  -s, --slice=     Planetlab slice\n\
+  -h, --help       print this help\n\
+Report bugs to address@hidden \n\
+GNUnet home page: http://www.gnu.org/software/gnunet/ \n\
+General help using GNU software: http://www.gnu.org/gethelp/";
 
-import sys, os, urllib, xmlrpclib, socket
 
-user = ''
-password = ''
-slice = ''
+user = None
+password = None
+plslice = None
 
-arg = sys.argv
-size = len(arg)
-if (len(arg) < 6):
-    print 'usage: -u <username> -p <password> -s <slice>'
-    exit()
+try:
+    opts, args = getopt.getopt(sys.argv[1:], "hu:p:s:", ["help", "user=", 
"password=", "slice="])
+except getopt.GetoptError, err:
+    # print help information and exit:
+    print str(err) # will print something like "option -a not recognized"
+    usage()
+    sys.exit(2)
+for o, a in opts:
+    if o in ("-h", "--help"):
+        usage()
+        sys.exit()
+    elif o in ("-u", "--user"):
+        user = a
+    elif o in ("-p", "--password"):
+        password = a
+    elif o in ("-s", "--slice"):
+        plslice = a                                                            
      
+    else:
+        assert False, "unhandled option"
 
-if (arg[1] == '-u'):
-    user = arg[2]
-if (arg[3] == '-p'):
-    password = arg[4]
-if (arg[5] == '-s'):
-    slice = arg[6]
+if ((user == None) or (password == None) or (slice == None)):
+    usage()
+    sys.exit(2)
 
 
+
 # PlanetLab Europe
 api_url = "https://www.planet-lab.eu/PLCAPI/";
 # Planetlab Central
@@ -56,13 +78,12 @@
     nodes = 
server.GetNodes(auth,filter_dict,['site_id','node_id','hostname','boot_state'])
     nnodes = len(nodes)
     sys.stdout.write('... got ' +str(nnodes)+ ' nodes \n\n')
-
+    node_str = ""
     for node in nodes:
         node_str.append(node.get('hostname'))
-    
-    res = server.AddSliceToNodes(auth,slice,node_str)
+    res = server.AddSliceToNodes(auth,plslice,node_str)
     if (res == 1):
-        print 'Added ' +str(nnodes)+ ' to slice ' + slice      
+        print 'Added ' +str(nnodes)+ ' to slice ' + plslice      
         sys.stdout.flush()
 except Exception as e:
     print "Error while adding nodes to list: " + str(e) 

Modified: gnunet-planetlab/gplmt/scripts/add_slice_to_nodes.py
===================================================================
--- gnunet-planetlab/gplmt/scripts/add_slice_to_nodes.py        2012-08-13 
09:07:20 UTC (rev 23209)
+++ gnunet-planetlab/gplmt/scripts/add_slice_to_nodes.py        2012-08-13 
15:16:37 UTC (rev 23210)
@@ -1,5 +1,6 @@
 #!/usr/bin/python
-# Add slice from all nodes listed in file 
+# Add slice to all nodes listed in file 
+import sys, xmlrpclib, getopt
 
 def usage():
     print "GNUnet PlanetLab deployment and automation toolset\n\
@@ -13,13 +14,9 @@
 GNUnet home page: http://www.gnu.org/software/gnunet/ \n\
 General help using GNU software: http://www.gnu.org/gethelp/";
 
-
-
-import sys, os, urllib, xmlrpclib, socket, getopt
-
 user = None
 password = None
-slice = None
+plslice = None
 filename = None
 
 # Parse command line arguments
@@ -40,14 +37,14 @@
     elif o in ("-p", "--password"):
         password = a
     elif o in ("-s", "--slice"):
-        slice = a                                                 
+        plslice = a                                                 
     elif o in ("-f", "--file"):
         filename = a                                 
     else:
         assert False, "unhandled option"
         
-        
-if ((user == None) or (user == None) or (user == None) or (user == None)):
+if (((user == None) or (password == None) or (slice == None)) or
+    (filename == None)):
     usage ()
     sys.exit (2)
 
@@ -67,7 +64,7 @@
 nodes = list()
 
 slice_data = {}
-slice_data['name'] = slice
+slice_data['name'] = plslice
 
 
 # request nodes assigned to slice
@@ -86,12 +83,9 @@
     sys.exit(2)
 
 try:
-    res = server.AddSliceToNodes (auth, slice, nodes)
+    res = server.AddSliceToNodes (auth, plslice, nodes)
     if (res == 1):
-        print "Added slice '" + slice+ "' to nodes :" + str(nodes)
+        print "Added slice '" + plslice+ "' to nodes :" + str(nodes)
         sys.stdout.flush()
 except Exception as e:
     print "Failed to delete node :" + str(e)
-
-
-       
\ No newline at end of file

Modified: gnunet-planetlab/gplmt/scripts/delete_slice_from_nodes.py
===================================================================
--- gnunet-planetlab/gplmt/scripts/delete_slice_from_nodes.py   2012-08-13 
09:07:20 UTC (rev 23209)
+++ gnunet-planetlab/gplmt/scripts/delete_slice_from_nodes.py   2012-08-13 
15:16:37 UTC (rev 23210)
@@ -1,5 +1,6 @@
 #!/usr/bin/python
 # Add slice from all nodes listed in file 
+import sys, xmlrpclib,  getopt
 
 def usage():
     print "GNUnet PlanetLab deployment and automation toolset\n\
@@ -13,13 +14,9 @@
 GNUnet home page: http://www.gnu.org/software/gnunet/ \n\
 General help using GNU software: http://www.gnu.org/gethelp/";
 
-
-
-import sys, os, urllib, xmlrpclib, socket, getopt
-
 user = None
 password = None
-slice = None
+plslice = None
 filename = None
 
 # Parse command line arguments
@@ -40,13 +37,13 @@
     elif o in ("-p", "--password"):
         password = a
     elif o in ("-s", "--slice"):
-        slice = a                                                 
+        plslice = a                                                 
     elif o in ("-f", "--file"):
         filename = a                                 
     else:
         assert False, "unhandled option"
         
-if ((user == None) or (user == None) or (user == None) or (user == None)):
+if ((user == None) or (password == None) or (plslice == None) or (user == 
None)):
     usage ()
     sys.exit (2)        
 
@@ -66,7 +63,7 @@
 nodes = list()
 
 slice_data = {}
-slice_data['name'] = slice
+slice_data['name'] = plslice
 
 
 # request nodes assigned to slice
@@ -85,12 +82,9 @@
     sys.exit(2)
 
 try:
-    res = server.DeleteSliceFromNodes (auth, slice, test)
+    res = server.DeleteSliceFromNodes (auth, plslice, test)
     if (res == 1):
         print "Deleted nodes :" + str(test)
         sys.stdout.flush()
 except Exception as e:
     print "Failed to delete node :" + str(e)
-
-
-       
\ No newline at end of file

Modified: gnunet-planetlab/gplmt/scripts/getmynodes.py
===================================================================
--- gnunet-planetlab/gplmt/scripts/getmynodes.py        2012-08-13 09:07:20 UTC 
(rev 23209)
+++ gnunet-planetlab/gplmt/scripts/getmynodes.py        2012-08-13 15:16:37 UTC 
(rev 23210)
@@ -1,70 +1,51 @@
 #!/usr/bin/python
-import sys, os, urllib, xmlrpclib, socket
+import sys, xmlrpclib,  getopt
 
-user = ''
-password = ''
-slice = ''
+def usage():
+    print "GNUnet PlanetLab deployment and automation toolset\n\
+Arguments mandatory for long options are also mandatory for short options.\n\
+  -u, --user=      Planetlab username\n\
+  -p, --password=       Planetlab password\n\
+  -s, --slice=       Planetlab slice\n\
+  -f, --file=                  file containing nodes\n\
+  -h, --help                 print this help\n\
+Report bugs to address@hidden \n\
+GNUnet home page: http://www.gnu.org/software/gnunet/ \n\
+General help using GNU software: http://www.gnu.org/gethelp/";
 
-arg = sys.argv
-size = len(arg)
-if (len(arg) < 6):
-    print 'usage: -u <username> -p <password>'
-    exit()
+user = None
+password = None
+plslice = None
+filename = None
 
+# Parse command line arguments
 
+try:
+    opts, args = getopt.getopt(sys.argv[1:], "hu:p:s:", ["help", "user=", 
"password=", "slice="])
+except getopt.GetoptError, err:
+    # print help information and exit:
+    print str(err) # will print something like "option -a not recognized"
+    usage()
+    sys.exit(2)
+for o, a in opts:
+    if o in ("-h", "--help"):
+        usage()
+        sys.exit()
+    elif o in ("-u", "--user"):
+        user = a
+    elif o in ("-p", "--password"):
+        password = a
+    elif o in ("-s", "--slice"):
+        plslice = a                                                 
+        filename = a                                 
+    else:
+        assert False, "unhandled option"
+        
+if (((user == None) or (password == None) or (slice == None))):
+    usage ()
+    sys.exit (2)
 
-if (arg[1] == '-u'):
-    user = arg[2]
-if (arg[3] == '-p'):
-    password = arg [4]
-if (arg[5] == '-s'):
-    slice = arg [6]
 
-# the PL Central API
-# apiurl = 'https://www.planet-lab.org/PLCAPI/'
-
-# Planetlab EU API
-apiurl = 'https://www.planet-lab.eu/PLCAPI/'
-server = xmlrpclib.ServerProxy(apiurl)
-slice_data = {}
-slice_data['name'] = slice
-
-# the auth struct
-auth = {}
-auth['Username'] = user
-auth['AuthString'] = password
-auth['AuthMethod'] = "password"
-
-
-
-
-
-
-#!/usr/bin/python
-
-# Add all available nodes in state "booted" to slice 
-
-
-import sys, os, urllib, xmlrpclib, socket
-
-user = ''
-password = ''
-slice = ''
-
-arg = sys.argv
-size = len(arg)
-if (len(arg) < 6):
-    print 'usage: -u <username> -p <password> -s <slice>'
-    exit()
-
-if (arg[1] == '-u'):
-    user = arg[2]
-if (arg[3] == '-p'):
-    password = arg[4]
-if (arg[5] == '-s'):
-    slice = arg[6]
-
-
 # PlanetLab Europe
 api_url = "https://www.planet-lab.eu/PLCAPI/";
 # Planetlab Central
@@ -78,6 +59,9 @@
 auth['AuthString'] = password
 auth['AuthMethod'] = "password"
 
+slice_data = {}
+slice_data['name'] = plslice
+
 # request nodes assigned to slice
 try:
     node_ids = server.GetSlices(auth, [slice_data['name']], 
['node_ids'])[0]['node_ids']




reply via email to

[Prev in Thread] Current Thread [Next in Thread]