[PATCH 1/2] usertools: use argparse module to get input parameter

Bruce Richardson bruce.richardson at intel.com
Mon Jan 9 10:14:46 CET 2023


On Mon, Jan 09, 2023 at 02:55:46PM +0800, Huisong Li wrote:
> The telemetry client script uses argparse module to get input parameter.
> 
> Signed-off-by: Huisong Li <lihuisong at huawei.com>
> ---
>  usertools/dpdk-telemetry-client.py | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 

This is an old script using the older telemetry V1 interface, so I'd
generally recommend users switch to using scripts for the v2 interface.
That said, no reason not to improve the script while we have it.

> diff --git a/usertools/dpdk-telemetry-client.py b/usertools/dpdk-telemetry-client.py
> index df41d04fbe..fd69955b32 100755
> --- a/usertools/dpdk-telemetry-client.py
> +++ b/usertools/dpdk-telemetry-client.py
> @@ -6,6 +6,7 @@
>  import os
>  import sys
>  import time
> +import argparse
>  
>  BUFFER_SIZE = 200000
>  
> @@ -115,13 +116,12 @@ def interactiveMenu(self, sleep_time): # Creates Interactive menu within the scr
>  if __name__ == "__main__":
>  
>      sleep_time = 1
> -    file_path = ""
> -    if len(sys.argv) == 2:
> -        file_path = sys.argv[1]
> -    else:
> -        print("Warning - No filepath passed, using default (" + DEFAULT_FP + ").")
> -        file_path = DEFAULT_FP
> +    parser = argparse.ArgumentParser()
> +    parser.add_argument('-s', '--sock_path', default=DEFAULT_FP,
> +                        help='Provide socket file path connected by legacy client')
> +    args = parser.parse_args()
> +

While I like using argparse rather than handling args directly, this breaks
compatibility.  For anyone already using this script via automation, this
would break things, as the path needs to be provided via a "-s" parameter,
rather than just tacked on as argv[1].

>      client = Client()
> -    client.getFilepath(file_path)
> +    client.getFilepath(args.sock_path)
>      client.register()
>      client.interactiveMenu(sleep_time)
> -- 
> 2.22.0
> 


More information about the dev mailing list