[Gluster-devel] gex-option-parser-patch
Harshavardhana Ranganath
harsha at 80x25.org
Wed Feb 22 07:08:17 UTC 2006
gex now uses OptionParser module for command line arguments.
Regards
Harshavardhana
-------------- next part --------------
? gex-option-parser-1.diff
? gex-option-parser.diff
? extensions/core/Gluster/GArgs.pyc
? extensions/core/Gluster/GConf.pyc
? extensions/core/Gluster/GPackage.pyc
? extensions/core/Gluster/GRegistry.pyc
? extensions/core/Gluster/__init__.pyc
? extensions/core/Gluster/gmap.pyc
? extensions/core/Gluster/GFrontEnd/UI.pyc
? extensions/core/Gluster/GFrontEnd/__init__.pyc
? extensions/core/Gluster/GFrontEnd/dialog.pyc
? extensions/core/Gluster/GTmp/Dir.pyc
? extensions/core/Gluster/GTmp/__init__.pyc
? stage2/skel-master/etc/rc.d/rc.halt
? stage2/skel-slave/etc/rc.d/rc.halt
? stage3/e2fsprogs.mk
? stage3/jfsutils.mk
? stage3/reiserfsprogs.mk
? stage3/xfsprogs.mk
Index: extensions/core/bin/gex
===================================================================
RCS file: /cvsroot/gluster/gluster-alpha1/extensions/core/bin/gex,v
retrieving revision 1.3
diff -p -u -r1.3 gex
--- extensions/core/bin/gex 21 Feb 2006 12:48:13 -0000 1.3
+++ extensions/core/bin/gex 22 Feb 2006 07:00:18 -0000
@@ -1,12 +1,14 @@
#!/usr/bin/python
-from Gluster import GPackage, GArgs;
from Gluster.GTmp import Dir;
from Gluster.GFrontEnd import dialog;
import os, tarfile, sys;
+from optparse import OptionParser;
dlg = dialog.Dialog ();
+arg_given = False
+
def file_to_dict (filename):
_dict = {};
for line in open (filename).readlines ():
@@ -24,6 +26,8 @@ def file_to_dict (filename):
return _dict;
def GpkgInstall (option, opt_str, value, parser):
+ global arg_given
+ arg_given = True
if not os.access (value, os.R_OK):
print value + ": cant read";
return
@@ -58,6 +62,8 @@ def GpkgInstall (option, opt_str, value,
return ;
def GpkgDetails (option, opt_str, value, parser):
+ global arg_given
+ arg_given = True
contents = file_to_dict (value);
if 'package-name' in contents.keys ():
print "Name : " + contents['package-name'];
@@ -68,42 +74,27 @@ def GpkgDetails (option, opt_str, value,
return ;
def GpkgListApps (option, opt_str, value, parser):
+ global arg_given
+ arg_given = True
_arr = [];
os.system ("grep -Hi '^ *application-register *:' /stage3/*.gex | cut -f1,3- -d:")
return
-_args = [
- { 'keys' : [ '--install' ],
- 'dest' : 'GEXFILE',
- 'callback' : GpkgInstall,
- 'help' : 'Install a gex',
- 'type' : 'string',
- 'default' : None,
- 'nargs' : 1
- },
- { 'keys' : [ '--details' ],
- 'dest' : 'PKG',
- 'callback' : GpkgDetails,
- 'help' : 'Details of PKG',
- 'type' : 'string',
- 'default' : None,
- 'nargs' : 1
- },
- { 'keys' : [ '--list-apps' ],
- 'dest' : 'LOADPKG',
- 'callback' : GpkgListApps,
- 'help' : 'Load a gex',
- 'type' : 'string',
- 'default' : None,
- 'nargs' : 0
- }
- ];
-
-
def main ():
- gargp = GArgs.GArgp ();
- gargp.AddOpt (_args);
- gargp.Process ();
+ parser = OptionParser ()
+ parser.add_option ( "-i", "--install", action="callback",
+ callback=GpkgInstall, type="string",
+ help="installs the GEXFILE", metavar="GEXFILE",
+ nargs=1 )
+ parser.add_option ( "-d", "--details", action="callback",
+ callback=GpkgDetails, type="string",
+ help="print details about GEXFILE", metavar="GEXFILE",
+ nargs=1 )
+ parser.add_option ( "-l", "--list-apps", action="callback",
+ callback=GpkgListApps, help="list all applications",
+ nargs=0 )
+ (options, args) = parser.parse_args ()
+ if not arg_given:
+ parser.print_help ()
return
-
main ();
More information about the Gluster-devel
mailing list