Fair enough, thanks for the explanation

On Wed, Mar 30, 2022 at 4:55 PM Paul Moore <p.f.mo...@gmail.com> wrote:

> On Wed, 30 Mar 2022 at 15:39, Adrian Torres Justo <atorr...@redhat.com>
> wrote:
>
>> > Why not use just to_bool(getenv(key))?
>>
>> We did use distutils.util.strtobool(os.getenv(key, default)) for a while,
>> eventually we just built a helper that did the same because it's easier /
>> more comfortable.
>>
>> > No. There would be hundreds different trivial implementations.
>>
>> Can you elaborate? Here's more or less what I had in mind (using the
>> os.getenv source code as template):
>>
>> from distutils.util import strtobool
>>
>> def getenv(key, default=None, to_bool=False):
>>      """Get an environment variable, return None if it doesn't exist.
>>      The optional second argument can specify an alternate default.
>>      key, default and the result are str."""
>>      val = environ.get(key, default)
>>      return val if not to_bool else strtobool(val)
>>
>> Sure, there are other ways to implement that are probably equally
>> trivial, but why does that matter?
>>
>
> There are a lot of ways to interpret "convert to bool" - should "yes" and
> "no" be converted? What about "1" and "0"? Or "001", or "-1"? What should
> happen to unrecognised values? What if the environment variable doesn't
> exist? It's not at all obvious to me that strtobool is the definitive way
> of doing this (quite apart from the fact that distutils will be getting
> removed from the stdlib in Python 3.12 - see
> https://peps.python.org/pep-0632/).
>
> What is so special about *this particular way* that it's worth including
> in the stdlib? Particularly when it's so easy to write for yourself.
>
> Paul
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/GJ44FEAKFVFILW5BQMC7DNQ6LVGAIDOU/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to