API: Add python2.7 support for enum flags via aenum 08/18108/2
authorOle Troan <ot@cisco.com>
Thu, 7 Mar 2019 10:28:32 +0000 (11:28 +0100)
committerPaul Vinciguerra <pvinci@vinciconsulting.com>
Thu, 7 Mar 2019 11:36:35 +0000 (11:36 +0000)
Change-Id: I77a43bfb37d827727c331cd65eee77536cc15953
Signed-off-by: Ole Troan <ot@cisco.com>
src/vnet/ip/ip.api
src/vpp-api/python/setup.py
src/vpp-api/python/vpp_papi/vpp_serializer.py

index b67e2e5..39d394f 100644 (file)
@@ -114,7 +114,6 @@ enum ip_neighbor_flags
   IP_API_NEIGHBOR_FLAG_NONE = 0,
   IP_API_NEIGHBOR_FLAG_STATIC = 0x1,
   IP_API_NEIGHBOR_FLAG_NO_FIB_ENTRY = 0x2,
-  IP_API_NEIGHBOR_FLAG_FIX_ME_OLE = 0x3,
 };
 
 /** \brief IP neighbor
index 9529445..b5fc11a 100644 (file)
@@ -30,7 +30,7 @@ setup(
     license='Apache-2.0',
     test_suite='vpp_papi.tests',
     install_requires=['cffi >= 1.6'] if stdlib_enum else
-        ['cffi >= 1.6', 'enum34'],
+        ['cffi >= 1.6', 'aenum'],
     packages=find_packages(),
     long_description='''VPP Python language binding.''',
     zip_safe=True)
index d62e3a4..e601201 100644 (file)
 
 import struct
 import collections
-from enum import IntEnum
+import sys
+if sys.version[0] == '2':
+    from aenum import IntEnum, IntFlag
+else:
+    from enum import IntEnum, IntFlag
 import logging
 from . import vpp_format
 import ipaddress
-import sys
+
 import socket
 
 #
@@ -276,7 +280,7 @@ class VPPEnumType(object):
                 continue
             ename, evalue = f
             e_hash[ename] = evalue
-        self.enum = IntEnum(name, e_hash)
+        self.enum = IntFlag(name, e_hash)
         types[name] = self
 
     def __getattr__(self, name):