Re: OT: Roland Puntaier / "getmail6" drama

Matthias Andree <[email protected]> Wed, 27 Oct 2021 19:47:38 +0200
Newsgroups gmane.mail.getmail.user
Message-ID <[email protected]>
Am 27.10.21 um 01:42 schrieb Charles Cazabon:
> Stefan Krah <[email protected]> wrote:
>> There is no empathy for original software authors in the Python "community".
>> "getmail6" is also name squatting on PyPI under the name "getmail":
> Wow, I didn't know that.  Another dick move.  It's not even "getmail6", he's
> just flat-out squatting on getmail.
>
>> I found it very easy to submit a patch to you.
> That's good to hear.  I've never had *any* complaints about this in
> twenty-plus years of getmail.  Roland is the first.
>
>> People are also underestimating the 2to3 trickery. getmail has to deal
>> with unicode, file system encoding, ssl and all things that make a robust
>> conversion difficult.
> Thank you.  Too many people think it's just a matter of running 2to3.  Even
> just "run 2to3 and fix breakages until it runs" is not a viable strategy.

I found python-future to be a more viable option for fetchmailconf.py,
where python-future (with its futurize utility) is an alternative to
2to3, which - IMO - DTRT and converts the codebase to Python-3-like code
and putting the compat layers on top of Python 2 for the most part, but
note I am not suggesting it would be trivial.

The string vs. bytes vs. Unicode matter is still needed, so reviewing
and checking if you need .decode() or .encode(), or class/exception
updates are required, and sometimes I found it necessary to convert some
method outputs to list()s explicitly ("for i in list(former_result):")
so as to cache results in order to avoid invalidating iterators.

For fetchmailconf, it wasn't a very clean conversion, but interspersed
with fixes for bugs also present under Python 2.x, so it's probably not
the prime example on how to do a conversion... but it is doable.