-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Python 3 support #40
Conversation
Do you plan to rebase this (and resolve conflicts)? |
@mgedmin Rebased. I don't have time at the moment for fixing the remaining failing tests though. |
Thank you! I'll try to take a look at this when I find more free time. Feel free to ping periodically, so I don't forget! |
Oh dear, the diff is +10,500 −3,394, I don't know if I can find that much free time :/ |
well travis should pass first. then remove the "uncomplete" [sic] tag when done... |
Do we know when this will support 3.6 ? |
as long as the build fails, this is stalled and needs someone to rewrite this patch. |
276340a
to
4535a5c
Compare
I have rewritten this. Now the Python 2 tests are working (and should be working for all commits). I will try to fix these tests, but it might be a bit more complicated. So the current state could be OK for merging (after review and some testing). I tried Most of the volume of this patch is update of |
I managed to remove the third party libraries in #118. So after pulling that, this PR would be much tidier. |
This is mostly finished. It would require to enable run tests for Python 3.5 (at least) to be enabled in normal mode. But there are 3 remaining failing tests. I am not sure, if I can get them fixed, because they are caused by some encoding magic in the Anyway, this could probably be pulled after some testing and review, because it should not affect running on Python 2 and allow to run it on Python 3 (although it might not work in some cases). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would be much happier reviewing and merging 50 smaller incremental Python 3 support requests, than swallowing one large one. Perhaps your existing commits could be cherry-picked into new PRs?
I don't know if that's too much to ask.
requirements.txt
Outdated
# optional: | ||
argcomplete | ||
future | ||
six |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both future
and six
? ;)
(I like six
. I don't like future
, but I think I got it mixed up with pies2overrides
in my mind, which is evil and actually caused me pain, when it got pulled in as a side effect of isort
a while back).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anyway, these need to go into install_requires
as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, good remark. I used six
only on one place and it was absolutely not necessary. So now it is reworked and in install_requires
.
so there are conflicts here and support @mgedmin's comments: can't we do this one step at a time? and shouldn't we do this after the massive changes behind the parser and the dependency cleanups are in? |
3ee6710
to
d31cbf9
Compare
great thanks! |
@mgedmin Can I help somehow? I have some bugs in the opensuse bugzilla which would probably get closed if this PR gets merged. Also I could start building the linkchecker-gui package in the OBS. |
@SchoolGuy a series of small PRs would help best (small == easy to review, e.g. each PR focusing on one kind of change, ideally under 300 lines of diff). |
@mgedmin So basically splitting this PR is your favourited solution? |
yes. |
FWIW, if reviewing one big PR is too much, there is always a choice of reviewing each commit separately. They seems to be "atomic" and bite-size enough. Otherwise, for such migration as 2to3 making isolated small PRs might be futile since making one (sub)module work, would entail making 20 others it imports one way or another work too. |
TODO
|
just to be clear, the desire to split this up is to make it easier for us to review, and it is based from this comment from @PetrDlouhy:
Also, any GitHub user can review this PR, not just us project admins, so if you think you can help, please do!! That said, I don't think per-commit reviews is practical on GitHub: I find it cumbersome to browse around the commits in a PR. But maybe that's just me... The thing with the PR right now is it needs pass CI and, because it hasn't been updated in a while, rebased to fix the merge conflicts... Maybe that can be done on top of the PR already... |
I've had a go at splitting these up: I can create individual PR's for all the python3_nn branches - but wanted to see if there was support for that here before blasting them out. There's just over twenty available now, mostly single commits, they'd need to be committed to master before the next batch could be created. I've had to rebase this python3 branch and do a few fix-ups, maybe it would be worth creating a not to be merged PR for that to track overall progress and CI test status? |
On 2019-04-09 19:34:38, Chris Mayo wrote:
I've had a go at splitting these up:
https://github.com/cjmayo/linkchecker/branches/active
I can create individual PR's for all the python3_nn branches - but wanted to see if there was support for that here before blasting them out. There's just over twenty available now, mostly single commits, they'd need to be committed to master before the next batch could be created.
At this point, I would take anything that merges and passes test.
I've had to rebase this python3 branch and do a few fix-ups, maybe it would be worth creating a not to be merged PR for that to track overall progress and CI test status?
Sure. Just put WIP in the title as long as it's not ready.
|
this is now happening in #210. thanks for spearheading the first effort, @PetrDlouhy - your work was very useful in laying the foundation for the next pass, and I hope you can find time to give us a hand again in the future! :) |
This PR is adding Python 3 support.
Not all tests are working yet, fell free to complete this PR.
Fix for #698