1 #!/usr/local/bin/python2.1
2 """ Python Character Mapping Codec for ROT13.
4 See http://ucsub.colorado.edu/~kominek/rot13/ for details.
6 Written by Marc-Andre Lemburg (mal@lemburg.com).
14 class Codec(codecs
.Codec
):
16 def encode(self
,input,errors
='strict'):
18 return codecs
.charmap_encode(input,errors
,encoding_map
)
20 def decode(self
,input,errors
='strict'):
22 return codecs
.charmap_decode(input,errors
,decoding_map
)
24 class StreamWriter(Codec
,codecs
.StreamWriter
):
27 class StreamReader(Codec
,codecs
.StreamReader
):
30 ### encodings module API
34 return (Codec().encode
,Codec().decode
,StreamReader
,StreamWriter
)
38 decoding_map
= codecs
.make_identity_dict(range(256))
96 encoding_map
= codecs
.make_encoding_map(decoding_map
)
100 def rot13(infile
, outfile
):
101 outfile
.write(infile
.read().encode('rot-13'))
103 if __name__
== '__main__':
105 rot13(sys
.stdin
, sys
.stdout
)