Closed tyroneabdy closed 8 years ago
Eh super nice work, I got stuck debugging the esculation stuff, how did you realize it was to do with bytes?
As you can see from clicking on details if the travis ci build the test on python2 failed. Either keep the logic for python2, or even better I would suggest for you to use the py3k branch. It uses the futures library to tun python3 code on python2 in the same codebase. You can run the codebase against python 3as well. I havent made any of the reaquired fixes for mac to work on that branch but it Is more or less working around the import magic and requirements of the futures library.
On the debugging most system stuff is using C libraries/dlls/dylibs underneath so they expect bytes pretty much in every place that you'd give them a string.
Also I just stuck a pdb statement in the failing method which read() and poked around why there was a blank string coming back, which turns out that the pipe was null. e.g it failed to be initialized properly.
When would you look at releasing the python 3 branch of esky? Or is it still very much a work in progress.?
The branch is on this repository, all tests are passing besides for mac (I commented them out) all the helpers are there its just a matter of hooking them in. For cxfreeze pointing the fixes to the correct dirs, and on py2app we might get lucky and it just works.
Do you use gitter? (Chat for github)It is better for these sort of talks
Uh sorry no I don't use gitter.
Well I guess I might go the route of doing a version splitting, which could be cherry picked across to the py3k branch if that works. I haven't tested the py3k branch that esky has.
If you have github you can use gitter so :) https://gitter.im/cloudmatrix/esky?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
I have tested the escalation (with our code base, which isn't using completely standard esky). For escalation and using prepared updates. On 3.4.
The only question is should I rework this in the case of the esky.util changes to detect version and use the old code for python 2 and the new code for python 3.