STATS: Add Python 3 support to vpp_stats.py. 65/14865/1
authorOle Troan <ot@cisco.com>
Tue, 18 Sep 2018 08:23:01 +0000 (10:23 +0200)
committerOle Troan <ot@cisco.com>
Tue, 18 Sep 2018 08:32:48 +0000 (10:32 +0200)
Change-Id: Iad0b0315fbd493b67e6ca490206ec8e8422790ea
Signed-off-by: Ole Troan <ot@cisco.com>
src/vpp-api/python/setup.py
src/vpp-api/python/vpp_papi/vpp_stats.py

index 0d8c149..a719d10 100644 (file)
@@ -18,7 +18,7 @@ except ImportError:
     from distutils.core import setup, find_packages
 
 setup(name='vpp_papi',
-      version='1.6.1',
+      version='1.6.2',
       description='VPP Python binding',
       author='Ole Troan',
       author_email='ot@cisco.com',
index 9bdb79f..ecd734b 100644 (file)
@@ -62,7 +62,7 @@ def make_string_vector(api, strings):
     if type(strings) is not list:
         strings = [strings]
     for s in strings:
-        vec = api.stat_segment_string_vector(vec, ffi.new("char []", s))
+        vec = api.stat_segment_string_vector(vec, ffi.new("char []", s.encode()))
     return vec
 
 
@@ -114,7 +114,7 @@ def stat_entry_to_python(api, e):
 class VPPStats:
     def __init__(self, socketname='/var/run/stats.sock'):
         self.api = ffi.dlopen('libvppapiclient.so')
-        rv = self.api.stat_segment_connect(socketname)
+        rv = self.api.stat_segment_connect(socketname.encode())
         if rv != 0:
             raise IOError()
 
@@ -129,7 +129,7 @@ class VPPStats:
         rv = self.api.stat_segment_dump(counters)
         rv_len = self.api.stat_segment_vec_len(rv)
         for i in range(rv_len):
-            n = ffi.string(rv[i].name)
+            n = ffi.string(rv[i].name).decode()
             e = stat_entry_to_python(self.api, rv[i])
             stats[n] = e
         return stats