From benjamin at python.org Wed Aug 8 00:43:31 2018 From: benjamin at python.org (Benjamin Peterson) Date: Tue, 07 Aug 2018 21:43:31 -0700 Subject: [Python-porting] Text version of os.environ for six? In-Reply-To: References: Message-ID: <1533703411.3920093.1467059248.59F44EE1@webmail.messagingengine.com> On Wed, Jul 25, 2018, at 11:05, Toshio Kuratomi wrote: > Hey al ( benjaminp in particular ;-), > > Today, in my project, I had a need for reading some environment values > as text strings. This is automatic in Python3 but in Python2 the > values are byte strings. I wrote a little proxy class to do this: > https://gist.github.com/abadger/6c873f999649a0be0e6ce5a96690ec6f#file-gistfile1-txt-L9 > > I was wondering if this is something that would be worthwhile to > contribute to six? If so, what requirements would be wanted? Things > I can think of: > > * Use sys.getfilesystemencoding() to decode the environment. Except not on windows where the environment is UTF-16. > * Cache the decoded values. > * Where should it live in six? six.environ ? > * I assume that in six, we'd want six.environ to be an instance of the > class rather than making users instantiate their own TetEnviron class, > correct? Yes. I suppose the other question is if six.environ would need to have the same magical behavior of os.environ. I.e., calling os.getenv and os.putenv on __getitem__ and __setitem__. > > Let me know if you think this is within the scope of six and I'll go > through the normal steps of opening a Pull Request and so forth. It's at least worth opening a GitHub issue, so others can easily register interest.