Skip to content

Conversation

@dbrgn
Copy link
Contributor

@dbrgn dbrgn commented Jan 3, 2019

The 2to3 option in setup.py had some undesired side effects. Using six as a compatibility library is much cleaner. (Specifically, @ubruhin had some issues with 2to3 doing buggy things.)

The code should now be compatible with both Python 2 and 3. The future import should always be used for new Python files.

Still mostly WIP, I'm creating the PR to trigger CI. Also, it's based on #59, so that should be handled first.

@dbrgn
Copy link
Contributor Author

dbrgn commented Jan 4, 2019

Note: A lot of the 2/3 compat complexity (like metaclasses that work on both version) could be avoided by moving from nose + custom testing baseclass to pytest 🙂

The 2to3 option in setup.py had some undesired side effects. Using `six`
as a compatibility library is much cleaner.

The code should now be compatible with both Python 2 and 3. The future
import should always be used for new Python files.
@dbrgn dbrgn changed the title WIP: Python 2/3 compatibility without 2to3 Python 2/3 compatibility without 2to3 Jan 5, 2019
@dbrgn
Copy link
Contributor Author

dbrgn commented Jan 5, 2019

Should be ready now (according to the testsuite).

@ubruhin does this solve the issues you were having?

@ubruhin
Copy link
Contributor

ubruhin commented Jan 5, 2019

@ubruhin does this solve the issues you were having?

Probably yes, you can now remove the workaround in models.py:ComboBox.set_current_text() (there is a comment which explains the workaround).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants