<div dir="ltr"><div><div><div><div>Victor,<br><br></div>I appreciate for your effort.<br><br>However I was just checking if you considered using 2to3. I can understand that translation using this tool might not cover every area in the code more specifically custom/3rd party libraries (non-standard python libraries) but IMO it can do fixer translations to much extent. If needed custom fixers can also be defined for 2to3.<br><br>- <a href="https://docs.python.org/2/library/2to3.html">https://docs.python.org/2/library/2to3.html</a><br>- <a href="https://docs.python.org/3/howto/pyporting.html">https://docs.python.org/3/howto/pyporting.html</a><br></div><br></div><div>Thanks,<br></div></div>Vishal<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 9, 2015 at 2:34 PM, Thierry Carrez <span dir="ltr"><<a href="mailto:thierry@openstack.org" target="_blank">thierry@openstack.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">Victor Stinner wrote:<br>
> Good news, we made good progress last weeks on porting Swift to Python<br>
> 3, a few changes were merged and all dependencies now work on Python 3.<br>
> We only need two more simple changes to have a working pyhon34 check job:<br>
><br>
> * "py3: Update pbr and dnspython requirements"<br>
>   <a href="https://review.openstack.org/#/c/217423/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/217423/</a><br>
> * "py3: Add py34 test environment to tox"<br>
>   <a href="https://review.openstack.org/#/c/199034/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/199034/</a><br>
><br>
> With these changes, it will be possible to make the python34 check job<br>
> voting to avoid Python 3 regressions. It's very important to avoid<br>
> regressions, so we cannot go backward again in Python 3 support.<br>
><br>
> On IRC, it was said that it's better to merge Python 3 changes at the<br>
> beginning of the Mitaka cycle, because Python 3 requires a lot of small<br>
> changes which can likely introduce (subtle) bugs, and it's better to<br>
> catch them early during the development cycle.<br>
><br>
> John Dickinson prefers incremental and small changes, whereas clayg<br>
> looks to like giant patches to fix all Python 3 issues at once to avoid<br>
> conflicts in other (non-Python3) changes. (Sorry, if I didn't summarized<br>
> correctly the discussion we had yesterday.)<br>
><br>
> The problem is that it's hard to fix "all" Python 3 issues in a single<br>
> patch, the patch would be super giant and just impossible to review.<br>
> It's also annoying to have to write dozens of small patches: we loose<br>
> time on merge conflicts, rebasing, random gate failures, etc.<br>
><br>
> I proposed a first patch serie of 6 changes to fix a lot of simple<br>
> Python 3 issues "at once":<br>
</div></div>> [...]<br>
<span class="">><br>
> The overall diff is impressive: "61 files changed, 233 insertions(+),<br>
> 189 deletions(-)" ... but each change is quite simple. It's only one<br>
> pattern replaced with a different pattern. For example, replace<br>
> "unicode" with "six.text_type" (and add "import six" if needed). So<br>
> these changes should be easy to review.<br>
><br>
> With a working (and voting?) python34 check job and these 6 changes, it<br>
> will be (much) easier to work on porting Swift to Python 3. Following<br>
> patches will be validated by the python34 check job, shorter and<br>
> restricted to a few files.<br>
><br>
> Victor<br>
<br>
</span>That's great news. Thanks so much for your tireless efforts to get<br>
Python 3 supported everywhere in OpenStack, Victor !<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Thierry Carrez (ttx)<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br></div>