From 11170a3e6426869b4bb9b980e227fabfc52f6f3d Mon Sep 17 00:00:00 2001 From: Pradnya Mohite Date: Wed, 20 Nov 2019 13:18:25 -0800 Subject: [PATCH 1/8] add config command feature_status --- config/main.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/config/main.py b/config/main.py index 6fcc0f46f8..3c299da153 100755 --- a/config/main.py +++ b/config/main.py @@ -2166,6 +2166,35 @@ def delete(ctx): sflow_tbl['global'].pop('agent_id') config_db.set_entry('SFLOW', 'global', sflow_tbl['global']) +# +# 'feature_status' command ('config feature_status name value') +# +@config.command('feature_status') +@click.pass_context +@click.argument('name', metavar='', required=True) +@click.argument('value', metavar='', required=True) +def feature_status(ctx,name,value): + """ Configure status of feature""" + config_db = ConfigDBConnector() + config_db.connect() + accepted_values = {'enabled', 'disabled'} + keyname = 'FEATURE' + name + status_data = config_db.get_entry('FEATURE', name) + + if not name: + click.echo("Invalid feature name") + return + if not status_data: + click.echo("{} feature doesnt exist".format(name)) + return + if not value: + click.echo("Empty status value") + return + if value not in accepted_values: + click.echo("Invalid status value") + return + + config_db.mod_entry('FEATURE', name,{'status': value}) if __name__ == '__main__': config() From 6632d59c175ef9fa83ea06af5b598b8bfb3ddb14 Mon Sep 17 00:00:00 2001 From: Pradnya Mohite Date: Wed, 20 Nov 2019 16:23:04 -0800 Subject: [PATCH 2/8] changing command to config feature changing argument name to state and adding click.choice removed keyname --- config/main.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/config/main.py b/config/main.py index 3c299da153..4e2cc1ed59 100755 --- a/config/main.py +++ b/config/main.py @@ -2167,18 +2167,16 @@ def delete(ctx): config_db.set_entry('SFLOW', 'global', sflow_tbl['global']) # -# 'feature_status' command ('config feature_status name value') +# 'feature_status' command ('config feature name state') # -@config.command('feature_status') +@config.command('feature') @click.pass_context @click.argument('name', metavar='', required=True) -@click.argument('value', metavar='', required=True) -def feature_status(ctx,name,value): +@click.argument('state', metavar='', default='disabled', required=True, type=click.Choice(["enabled", "disabled"])) +def feature_status(ctx,name,state): """ Configure status of feature""" config_db = ConfigDBConnector() config_db.connect() - accepted_values = {'enabled', 'disabled'} - keyname = 'FEATURE' + name status_data = config_db.get_entry('FEATURE', name) if not name: @@ -2187,14 +2185,11 @@ def feature_status(ctx,name,value): if not status_data: click.echo("{} feature doesnt exist".format(name)) return - if not value: - click.echo("Empty status value") - return - if value not in accepted_values: - click.echo("Invalid status value") + if not state: + click.echo("Empty state value") return - config_db.mod_entry('FEATURE', name,{'status': value}) + config_db.mod_entry('FEATURE', name,{'status': state}) if __name__ == '__main__': config() From a41f723e0d022d25d481aebe39833b487794687e Mon Sep 17 00:00:00 2001 From: pra-moh <49077256+pra-moh@users.noreply.github.com> Date: Wed, 20 Nov 2019 17:49:20 -0800 Subject: [PATCH 3/8] Update config/main.py Co-Authored-By: Joe LeVeque --- config/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 4e2cc1ed59..f3761ba103 100755 --- a/config/main.py +++ b/config/main.py @@ -2183,7 +2183,7 @@ def feature_status(ctx,name,state): click.echo("Invalid feature name") return if not status_data: - click.echo("{} feature doesnt exist".format(name)) + click.echo(" Feature '{}' doesn't exist".format(name)) return if not state: click.echo("Empty state value") From edd440a4529ee95c2570704d9dff99e6bbb77fbf Mon Sep 17 00:00:00 2001 From: Pradnya Mohite Date: Wed, 20 Nov 2019 17:54:52 -0800 Subject: [PATCH 4/8] changing msg to invalid feature state removed context --- config/main.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/config/main.py b/config/main.py index 4e2cc1ed59..85b81e3e35 100755 --- a/config/main.py +++ b/config/main.py @@ -2167,13 +2167,12 @@ def delete(ctx): config_db.set_entry('SFLOW', 'global', sflow_tbl['global']) # -# 'feature_status' command ('config feature name state') +# 'feature' command ('config feature name state') # @config.command('feature') -@click.pass_context @click.argument('name', metavar='', required=True) @click.argument('state', metavar='', default='disabled', required=True, type=click.Choice(["enabled", "disabled"])) -def feature_status(ctx,name,state): +def feature_status(name,state): """ Configure status of feature""" config_db = ConfigDBConnector() config_db.connect() @@ -2186,7 +2185,7 @@ def feature_status(ctx,name,state): click.echo("{} feature doesnt exist".format(name)) return if not state: - click.echo("Empty state value") + click.echo("Invalid feature state") return config_db.mod_entry('FEATURE', name,{'status': state}) From 2179134a889feb87f9bc698dc274337094b63201 Mon Sep 17 00:00:00 2001 From: Pradnya Mohite Date: Fri, 22 Nov 2019 17:26:23 -0800 Subject: [PATCH 5/8] removing default disabled from state removing check for state and name empty --- config/main.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/config/main.py b/config/main.py index 42dc1fb499..163a09cc87 100755 --- a/config/main.py +++ b/config/main.py @@ -2171,22 +2171,16 @@ def delete(ctx): # @config.command('feature') @click.argument('name', metavar='', required=True) -@click.argument('state', metavar='', default='disabled', required=True, type=click.Choice(["enabled", "disabled"])) +@click.argument('state', metavar='', required=True, type=click.Choice(["enabled", "disabled"])) def feature_status(name,state): """ Configure status of feature""" config_db = ConfigDBConnector() config_db.connect() status_data = config_db.get_entry('FEATURE', name) - if not name: - click.echo("Invalid feature name") - return if not status_data: click.echo(" Feature '{}' doesn't exist".format(name)) return - if not state: - click.echo("Invalid feature state") - return config_db.mod_entry('FEATURE', name,{'status': state}) From f67193f85cc60967215ccafbfa1e6fd7e2820c2c Mon Sep 17 00:00:00 2001 From: Pradnya Mohite Date: Fri, 22 Nov 2019 18:02:27 -0800 Subject: [PATCH 6/8] changing metavar to feature-state from default values --- config/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 163a09cc87..0ecc97361c 100755 --- a/config/main.py +++ b/config/main.py @@ -2171,7 +2171,7 @@ def delete(ctx): # @config.command('feature') @click.argument('name', metavar='', required=True) -@click.argument('state', metavar='', required=True, type=click.Choice(["enabled", "disabled"])) +@click.argument('state', metavar='', required=True, type=click.Choice(["enabled", "disabled"])) def feature_status(name,state): """ Configure status of feature""" config_db = ConfigDBConnector() From 1d109a83f0445601b63d53428aaac06766e0addf Mon Sep 17 00:00:00 2001 From: Pradnya Mohite Date: Tue, 26 Nov 2019 16:51:55 -0800 Subject: [PATCH 7/8] adding space after the comma --- config/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 0ecc97361c..19c118ee21 100755 --- a/config/main.py +++ b/config/main.py @@ -2172,7 +2172,7 @@ def delete(ctx): @config.command('feature') @click.argument('name', metavar='', required=True) @click.argument('state', metavar='', required=True, type=click.Choice(["enabled", "disabled"])) -def feature_status(name,state): +def feature_status(name, state): """ Configure status of feature""" config_db = ConfigDBConnector() config_db.connect() From b613b7f7765ac91a4282817a7d6e8e99cbaebf5d Mon Sep 17 00:00:00 2001 From: Pradnya Mohite Date: Tue, 26 Nov 2019 17:15:51 -0800 Subject: [PATCH 8/8] adding space after secondary comma --- config/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/main.py b/config/main.py index 19c118ee21..551e2d62d5 100755 --- a/config/main.py +++ b/config/main.py @@ -2182,7 +2182,7 @@ def feature_status(name, state): click.echo(" Feature '{}' doesn't exist".format(name)) return - config_db.mod_entry('FEATURE', name,{'status': state}) + config_db.mod_entry('FEATURE', name, {'status': state}) if __name__ == '__main__': config()