On Mon, May 11, 2020 at 10:32:27AM +0200, Thierry Fournier wrote:
> Hi, thanks Willy,
> 
> This a good idea to support python3.
> 
> In facts, python2 is no longer supported, but it is not ready to disappear
> because a lot of scripts in many enterprises are written in python2
> (exemple: Centos7/RHEL7 the package manager yum is written in python2).
> 
> In other way the spoe-server is newer and I guess it is not so used, so
> I should be a good idea to move to python3.
> 
> So, its ok for me.

Thanks for the quick response. So that's now merged :-)

Gilchrist, thank you for this really clean work and the extensive
tests you've run on it.

If we notice there's more contribution to this code, maybe we'll have to
push one step further like we did to support many openssl versions, which
consists in always sticking to the most recent API and emulate it for the
old ones. In your case that would for example mean that instead of having
this :

  -      value = PyString_FromStringAndSize(args[i].name.str, args[i].name.len);
  +      value = PY_STRING_FROM_STRING_AND_SIZE(args[i].name.str, 
args[i].name.len);

You would switch it to "PyUnicode_FromStringAndSize" (which is the new one
from python3) and add this in your compatibility layer to keep suppor for
2.7:

  #define PyUnicode_FromStringAndSize  PyString_FromStringAndSize

That's something that can almost never be done in a single step, as it's
the best way to mix everything and cause breakage, but with your work
this seems to become within reach. But given that I don't know if we
should expect many contributions there, I don't know if it's worth
investing more time on it!

Cheers,
Willy

Reply via email to