Page MenuHomekolab.org

Port pykolab to Python 3
Open, NormalPublic

Description

Python 2 is being phased out in all major distros; it's time to jump on the Python 3 bandwagon.

I started working on this a few months back, but Python's dynamic nature and the lack of self-contained unit tests for pykolab make it somewhat hard to move forward without the fear of possibly breaking something. So all I have for now is a bunch of commits that are presumably a step in the right direction but still need proper review and testing.

Since Phabricator doesn't seem to support the forking of Git repositories, I have pushed my commits to GitHub: https://github.com/sicherha/pykolab/tree/python3-syntax

Details

Ticket Type
Task

Event Timeline

sicherha created this task.Thu, Jan 6, 10:46 AM
sicherha raised the priority of this task from Wishlist to Normal.
sicherha added subscribers: mollekopf, machniak.

Note that all changes I have made so far should™ be backward-compatible with Python >= 2.6, so they wouldn't necessitate any changes to our existing packaging.

Could you create differential(s)? It should be possible to do this having patches via https://git.kolab.org/differential/diff/create/. Or just by using arc diff on your git clone.

Submitted D3190, which has ended up being sort of... bulky. There are several commits in this differential; does Phabricator offer no option to review these commits individually like Git{Hu,La}b do, without the author having to create a separate differential per commit?

I have abandoned D3190 and submitted the individual commits in D3223, D3226, D3229, D3232, D3235, D3241 and D3244.

Thanks for the excellent work @sicherha!

Thanks for the review! I tried to arc land the changes but seem to lack permission to do so:

Exception: You do not have permission to push to this repository.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Apparently I need to be added to the PyKolab Developers group to be able to land changes.

Apparently I need to be added to the PyKolab Developers group to be able to land changes.

Done