diff options
Diffstat (limited to 'Lib/python/pyabc.i')
-rw-r--r-- | Lib/python/pyabc.i | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/Lib/python/pyabc.i b/Lib/python/pyabc.i index fbd91dce4..cae1e7032 100644 --- a/Lib/python/pyabc.i +++ b/Lib/python/pyabc.i @@ -1,10 +1,14 @@ %define %pythonabc(Type, Abc) - %feature("python:abc", #Abc) Type; + %feature("python:abc", Abc) Type; %enddef -%pythoncode %{import collections.abc%} -%pythonabc(std::vector, collections.abc.MutableSequence); -%pythonabc(std::list, collections.abc.MutableSequence); -%pythonabc(std::map, collections.abc.MutableMapping); -%pythonabc(std::multimap, collections.abc.MutableMapping); -%pythonabc(std::set, collections.abc.MutableSet); -%pythonabc(std::multiset, collections.abc.MutableSet); +%pythoncode %{if _swig_python_version_info[0:2] >= (3, 3): + import collections.abc +else: + import collections +%} +%pythonabc(std::vector, "collections.abc.MutableSequence if _swig_python_version_info >= (3, 3) else collections.MutableSequence"); +%pythonabc(std::list, "collections.abc.MutableSequence if _swig_python_version_info >= (3, 3) else collections.MutableSequence"); +%pythonabc(std::map, "collections.abc.MutableMapping if _swig_python_version_info >= (3, 3) else collections.MutableMapping"); +%pythonabc(std::multimap, "collections.abc.MutableMapping if _swig_python_version_info >= (3, 3) else collections.MutableMapping"); +%pythonabc(std::set, "collections.abc.MutableSet if _swig_python_version_info >= (3, 3) else collections.MutableSet"); +%pythonabc(std::multiset, "collections.abc.MutableSet if _swig_python_version_info >= (3, 3) else collections.MutableSet"); |