summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorMarc-André Lemburg <mal@egenix.com>2000-06-07 09:04:05 (GMT)
committerMarc-André Lemburg <mal@egenix.com>2000-06-07 09:04:05 (GMT)
commit54480d300abcc5b600a5af933b977e775336a5ed (patch)
tree274dbe0e40d0bf7d6dfb55f916637fb3ebe25da5 /Lib
parentd1a65ff40b5274d5a8538553b4a2ccef8d54eb6e (diff)
downloadcpython-54480d300abcc5b600a5af933b977e775336a5ed.zip
cpython-54480d300abcc5b600a5af933b977e775336a5ed.tar.gz
cpython-54480d300abcc5b600a5af933b977e775336a5ed.tar.bz2
New codec which always raises an exception when used. This
codec can be used to effectively switch off string coercion to Unicode.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/encodings/undefined.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/Lib/encodings/undefined.py b/Lib/encodings/undefined.py
new file mode 100644
index 0000000..7de993c
--- /dev/null
+++ b/Lib/encodings/undefined.py
@@ -0,0 +1,34 @@
+""" Python 'undefined' Codec
+
+ This codec will always raise a ValueError exception when being
+ used. It is intended for use by the site.py file to switch off
+ automatic string to Unicode coercion.
+
+Written by Marc-Andre Lemburg (mal@lemburg.com).
+
+(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
+
+"""
+import codecs
+
+### Codec APIs
+
+class Codec(codecs.Codec):
+
+ def encode(self,input,errors='strict'):
+ raise UnicodeError, "undefined encoding"
+
+ def decode(self,input,errors='strict'):
+ raise UnicodeError, "undefined encoding"
+
+class StreamWriter(Codec,codecs.StreamWriter):
+ pass
+
+class StreamReader(Codec,codecs.StreamReader):
+ pass
+
+### encodings module API
+
+def getregentry():
+
+ return (Codec().encode,Codec().decode,StreamReader,StreamWriter)