Let Oslo code compatible with Python 3
Though we only run Oslo code in Python2.6 and Python2.7, not in Python3. Some incubation and stackforge projects were enforced in Python3. They suffer from Python3 compatible issue . They must make change in Oslo first, then pass in their projects. This is an example [1]. This blueprint will follow tips in [2] to fix compatibility bug.
[1] https:/
[2] http://
Blueprint information
- Status:
- Started
- Approver:
- Ben Nemec
- Priority:
- Undefined
- Drafter:
- ChangBo Guo(gcb)
- Direction:
- Needs approval
- Assignee:
- ChangBo Guo(gcb)
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Started
- Milestone target:
- None
- Started by
- ChangBo Guo(gcb)
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Use six.moves.
Addressed by: https:/
Replace removed items in Python3
Addressed by: https:/
Unify different names between Python2/3 with six.moves
Addressed by: https:/
Use six.iteritems for python 3.3 support in apiclient module
Addressed by: https:/
Encode response from FakeHTTPClient
Addressed by: https:/
Use six.iteritems to make dict work on Python2/3
Addressed by: https:/
Replace data structures' attribute with six module
Addressed by: https:/
Use urlutils functions instead of urllib/urllib2
Addressed by: https:/
Add basic Python 3 tests
Addressed by: https:/
Fix filter() usage due to python 3 compability
Addressed by: https:/
Remove string.lowercase usage
Addressed by: https:/
Use six.seraise() instead of `raise exc, val, tb`
Addressed by: https:/
Fixed usage of strutils.
Addressed by: https:/
Run tests/unit/
Addressed by: https:/
Fix usage of dict.keys in apiclient.
Addressed by: https:/
tests: set a default for lockutils
Addressed by: https:/
Use `six.text_type` instead of `str` in cliutils
Addressed by: https:/
Remove test_compat.py from py33 tests
Addressed by: https:/
cliutils: Python 3 support
Addressed by: https:/
fileutils: port to Python 3
Addressed by: https:/
Python3: define a __next__() method for ModelBase
Addressed by: https:/
Run tests for apiclient with python3
Addressed by: https:/
Python3: do not use contextlib.nested()
Addressed by: https:/
Python3: enable test_jsonutils.py
Addressed by: https:/
Activate tests.unit.