Use native string types for all os.environ keys and values.

Review Request #10228 — Created Oct. 13, 2018 and submitted — Latest diff uploaded

Information

Review Board
release-4.0.x
2542e60...

Reviewers

On Python 2, we're supposed to use byte strings for os.environ (though
how important this is is platform-dependent), while on Python 3 we're
supposed to use Unicode strings instead. To be compatible with both, we
now ensure we're using native strings by wrapping text in str(...) and
variables in Django's force_str(...). While more verbose, it should
ensure compatibility across both versions of Python.

Unit tests pass on Python 2.7 and 3.x (in areas that can currently be
tested).