diff options
Diffstat (limited to 'wsgitools/internal.py')
-rw-r--r-- | wsgitools/internal.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/wsgitools/internal.py b/wsgitools/internal.py new file mode 100644 index 0000000..c4f1da1 --- /dev/null +++ b/wsgitools/internal.py @@ -0,0 +1,19 @@ +if bytes is str: + def bytes2str(bstr): + assert isinstance(bstr, bytes) + return bstr + def str2bytes(sstr): + assert isinstance(sstr, str) + return sstr + def textopen(filename, mode): + return open(filename, mode) +else: + def bytes2str(bstr): + assert isinstance(bstr, bytes) + return bstr.decode("iso-8859-1") # always successful + def str2bytes(sstr): + assert isinstance(sstr, str) + return sstr.encode("iso-8859-1") # might fail, but spec says it doesn't + def textopen(filename, mode): + # We use the same encoding as for all wsgi strings here. + return open(filename, mode, encoding="iso-8859-1") |