[v2,2/9] usertools/dpdk-devbind: support python3 only

Message ID 20200617151051.21191-3-louise.kilheeney@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series adding support for python 3 only. |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Louise Kilheeney June 17, 2020, 3:10 p.m. UTC
  Changed script to explicitly use python3 only to avoid
maintaining python 2.

Signed-off-by: Louise Kilheeney <louise.kilheeney@intel.com>

---
v2: removed check_output function as not required for python3.
---
 usertools/dpdk-devbind.py | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)
  

Comments

Burakov, Anatoly June 25, 2020, 12:48 p.m. UTC | #1
On 17-Jun-20 4:10 PM, Louise Kilheeney wrote:
> Changed script to explicitly use python3 only to avoid
> maintaining python 2.
> 
> Signed-off-by: Louise Kilheeney <louise.kilheeney@intel.com>
> 
> ---
> v2: removed check_output function as not required for python3.
> ---
>   usertools/dpdk-devbind.py | 17 ++++-------------
>   1 file changed, 4 insertions(+), 13 deletions(-)
> 
> diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
> index dc008823f..f29dd7f64 100755
> --- a/usertools/dpdk-devbind.py
> +++ b/usertools/dpdk-devbind.py
> @@ -1,9 +1,8 @@
> -#! /usr/bin/env python
> +#! /usr/bin/env python3

Maybe drop the space before '/' too here.

Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
  

Patch

diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
index dc008823f..f29dd7f64 100755
--- a/usertools/dpdk-devbind.py
+++ b/usertools/dpdk-devbind.py
@@ -1,9 +1,8 @@ 
-#! /usr/bin/env python
+#! /usr/bin/env python3
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2010-2014 Intel Corporation
 #
 
-from __future__ import print_function
 import sys
 import os
 import getopt
@@ -143,14 +142,6 @@  def usage():
 
     """ % locals())  # replace items from local variables
 
-
-# This is roughly compatible with check_output function in subprocess module
-# which is only available in python 2.7.
-def check_output(args, stderr=None):
-    '''Run a command and capture its output'''
-    return subprocess.Popen(args, stdout=subprocess.PIPE,
-                            stderr=stderr).communicate()[0]
-
 # check if a specific kernel module is loaded
 def module_is_loaded(module):
     global loaded_modules
@@ -207,7 +198,7 @@  def get_pci_device_details(dev_id, probe_lspci):
     device = {}
 
     if probe_lspci:
-        extra_info = check_output(["lspci", "-vmmks", dev_id]).splitlines()
+        extra_info = subprocess.check_output(["lspci", "-vmmks", dev_id]).splitlines()
 
         # parse lspci details
         for line in extra_info:
@@ -244,7 +235,7 @@  def get_device_details(devices_type):
     # first loop through and read details for all devices
     # request machine readable format, with numeric IDs and String
     dev = {}
-    dev_lines = check_output(["lspci", "-Dvmmnnk"]).splitlines()
+    dev_lines = subprocess.check_output(["lspci", "-Dvmmnnk"]).splitlines()
     for dev_line in dev_lines:
         if len(dev_line) == 0:
             if device_type_match(dev, devices_type):
@@ -272,7 +263,7 @@  def get_device_details(devices_type):
         # check what is the interface if any for an ssh connection if
         # any to this host, so we can mark it later.
         ssh_if = []
-        route = check_output(["ip", "-o", "route"])
+        route = subprocess.check_output(["ip", "-o", "route"])
         # filter out all lines for 169.254 routes
         route = "\n".join(filter(lambda ln: not ln.startswith("169.254"),
                              route.decode().splitlines()))