summaryrefslogtreecommitdiff
path: root/wsgitools/internal.py
diff options
context:
space:
mode:
Diffstat (limited to 'wsgitools/internal.py')
-rw-r--r--wsgitools/internal.py19
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")