At some point, perhaps due to updating the version of Python that SSO
uses, the raw unicode bytes in the strings in LANGUAGE_NAMES stopped
being properly converted to utf-8 for display by the view. There were
two possible ways to fix this issue: either each string is turned into a
byte string and .decode('utf-8') is appended to each of the strings, or
the strings can be changed to directly use the utf-8 characters.
This change does the easier thing of just directly using utf-8 encoded
text.
At some point, perhaps due to updating the version of Python that SSO
uses, the raw unicode bytes in the strings in LANGUAGE_NAMES stopped
being properly converted to utf-8 for display by the view. There were
two possible ways to fix this issue: either each string is turned into a
byte string and .decode('utf-8') is appended to each of the strings, or
the strings can be changed to directly use the utf-8 characters.
This change does the easier thing of just directly using utf-8 encoded
text.
Since we want to be flexible in terms of focal/xenial switches (until we
are safely fully switched) we need to support both scenarios. Since some
dependencies on focal don't work for xenial (and vice versa) we add two
new "xenial" dependencies files to use when we are on xenial (and have
the default dependencies files for focal). Also added a way to pick the
appropriate based on system version in `setup-container` script and
another change in the `Makefile.db` to switch between the two different
postgresql versions
Re-introduces properly a way to make the ~ character testable in the
test_discovery.py. Uses urllib's quote which in python 3.5 escapes the
character whereas in higher versions it does not