فهرست منبع

support/scripts/pkg-stats: decode subprocess output for python3

In Python 3, the functions from the subprocess module return bytes
(and no longer strings as in Python 2), which must be decoded for
further text operations.

Now, pkg-stats can be run in Python 3.

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Titouan Christophe 5 سال پیش
والد
کامیت
304b141a97
1فایلهای تغییر یافته به همراه3 افزوده شده و 3 حذف شده
  1. 3 3
      support/scripts/pkg-stats

+ 3 - 3
support/scripts/pkg-stats

@@ -157,7 +157,7 @@ class Package:
         o = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[1]
         o = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[1]
         lines = o.splitlines()
         lines = o.splitlines()
         for line in lines:
         for line in lines:
-            m = re.match("^([0-9]*) warnings generated", line)
+            m = re.match("^([0-9]*) warnings generated", line.decode())
             if m:
             if m:
                 self.warnings = int(m.group(1))
                 self.warnings = int(m.group(1))
                 return
                 return
@@ -351,7 +351,7 @@ def package_init_make_info():
     # Fetch all variables at once
     # Fetch all variables at once
     variables = subprocess.check_output(["make", "BR2_HAVE_DOT_CONFIG=y", "-s", "printvars",
     variables = subprocess.check_output(["make", "BR2_HAVE_DOT_CONFIG=y", "-s", "printvars",
                                          "VARS=%_LICENSE %_LICENSE_FILES %_VERSION %_IGNORE_CVES"])
                                          "VARS=%_LICENSE %_LICENSE_FILES %_VERSION %_IGNORE_CVES"])
-    variable_list = variables.splitlines()
+    variable_list = variables.decode().splitlines()
 
 
     # We process first the host package VERSION, and then the target
     # We process first the host package VERSION, and then the target
     # package VERSION. This means that if a package exists in both
     # package VERSION. This means that if a package exists in both
@@ -886,7 +886,7 @@ def __main__():
         package_list = None
         package_list = None
     date = datetime.datetime.utcnow()
     date = datetime.datetime.utcnow()
     commit = subprocess.check_output(['git', 'rev-parse',
     commit = subprocess.check_output(['git', 'rev-parse',
-                                      'HEAD']).splitlines()[0]
+                                      'HEAD']).splitlines()[0].decode()
     print("Build package list ...")
     print("Build package list ...")
     packages = get_pkglist(args.npackages, package_list)
     packages = get_pkglist(args.npackages, package_list)
     print("Getting package make info ...")
     print("Getting package make info ...")