From: Thierry Parmentelat Date: Mon, 28 Apr 2014 16:17:47 +0000 (+0200) Subject: support for --researchers none so one can clean the set of users in a slice - mostly... X-Git-Tag: sfa-3.1-4~21 X-Git-Url: http://git.onelab.eu/?p=sfa.git;a=commitdiff_plain;h=dcec4892ea998e7df5297ba08a7a93da0e8d7053 support for --researchers none so one can clean the set of users in a slice - mostly a convenience for tests --- diff --git a/sfa/client/common.py b/sfa/client/common.py index b2e2fde5..fb0fbcdb 100644 --- a/sfa/client/common.py +++ b/sfa/client/common.py @@ -3,7 +3,13 @@ def optparse_listvalue_callback(option, opt, value, parser): former=getattr(parser.values,option.dest) if not former: former=[] - setattr(parser.values, option.dest, former+value.split(',')) + # support for using e.g. sfi update -t slice -x the.slice.hrn -r none + # instead of -r '' which is painful and does not pass well through ssh + if value.lower()=='none': + newvalue=former + else: + newvalue=former+value.split(',') + setattr(parser.values, option.dest, newvalue) def optparse_dictvalue_callback (option, option_string, value, parser): try: diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index 5500c966..2ce796b0 100644 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -203,7 +203,7 @@ def load_record_from_opts(options): record_dict['keys'] = [pubkey] if hasattr(options, 'slices') and options.slices: record_dict['slices'] = options.slices - if hasattr(options, 'researchers') and options.researchers: + if hasattr(options, 'researchers') and options.researchers is not None: record_dict['researcher'] = options.researchers if hasattr(options, 'email') and options.email: record_dict['email'] = options.email @@ -422,7 +422,7 @@ class Sfi: parser.add_option('-s', '--slices', dest='slices', metavar='', help='Set/replace slice xrns', default='', type="str", action='callback', callback=optparse_listvalue_callback) parser.add_option('-r', '--researchers', dest='researchers', metavar='', - help='Set/replace slice researchers', default='', type="str", action='callback', + help='Set/replace slice researchers - use -r none to reset', default='', type="str", action='callback', callback=optparse_listvalue_callback) parser.add_option('-p', '--pis', dest='pis', metavar='', help='Set/replace Principal Investigators/Project Managers', default='', type="str", action='callback', callback=optparse_listvalue_callback)