Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
3fbd4623
Commit
3fbd4623
authored
May 15, 2001
by
Tim Peters
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Just changed "x,y" to "x, y" everywhere (i.e., inserted horizontal space
after commas that didn't have any).
parent
fe0f94da
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
37 deletions
+34
-37
Lib/codecs.py
Lib/codecs.py
+34
-37
No files found.
Lib/codecs.py
View file @
3fbd4623
...
@@ -7,25 +7,25 @@ Written by Marc-Andre Lemburg (mal@lemburg.com).
...
@@ -7,25 +7,25 @@ Written by Marc-Andre Lemburg (mal@lemburg.com).
"""
#"
"""
#"
import
struct
,
types
,
__builtin__
import
struct
,
types
,
__builtin__
### Registry and builtin stateless codec functions
### Registry and builtin stateless codec functions
try
:
try
:
from
_codecs
import
*
from
_codecs
import
*
except
ImportError
,
why
:
except
ImportError
,
why
:
raise
SystemError
,
\
raise
SystemError
,
\
'Failed to load the builtin codecs: %s'
%
why
'Failed to load the builtin codecs: %s'
%
why
__all__
=
[
"register"
,
"lookup"
,
"open"
,
"EncodedFile"
,
"BOM"
,
"BOM_BE"
,
__all__
=
[
"register"
,
"lookup"
,
"open"
,
"EncodedFile"
,
"BOM"
,
"BOM_BE"
,
"BOM_LE"
,
"BOM32_BE"
,
"BOM32_LE"
,
"BOM64_BE"
,
"BOM64_LE"
]
"BOM_LE"
,
"BOM32_BE"
,
"BOM32_LE"
,
"BOM64_BE"
,
"BOM64_LE"
]
### Constants
### Constants
#
#
# Byte Order Mark (BOM) and its possible values (BOM_BE, BOM_LE)
# Byte Order Mark (BOM) and its possible values (BOM_BE, BOM_LE)
#
#
BOM
=
struct
.
pack
(
'=H'
,
0xFEFF
)
BOM
=
struct
.
pack
(
'=H'
,
0xFEFF
)
#
#
BOM_BE
=
BOM32_BE
=
'
\
376
\
377
'
BOM_BE
=
BOM32_BE
=
'
\
376
\
377
'
# corresponds to Unicode U+FEFF in UTF-16 on big endian
# corresponds to Unicode U+FEFF in UTF-16 on big endian
...
@@ -60,7 +60,7 @@ class Codec:
...
@@ -60,7 +60,7 @@ class Codec:
CHARACTER for the builtin Unicode codecs.
CHARACTER for the builtin Unicode codecs.
"""
"""
def
encode
(
self
,
input
,
errors
=
'strict'
):
def
encode
(
self
,
input
,
errors
=
'strict'
):
""" Encodes the object input and returns a tuple (output
""" Encodes the object input and returns a tuple (output
object, length consumed).
object, length consumed).
...
@@ -79,7 +79,7 @@ class Codec:
...
@@ -79,7 +79,7 @@ class Codec:
"""
"""
raise
NotImplementedError
raise
NotImplementedError
def
decode
(
self
,
input
,
errors
=
'strict'
):
def
decode
(
self
,
input
,
errors
=
'strict'
):
""" Decodes the object input and returns a tuple (output
""" Decodes the object input and returns a tuple (output
object, length consumed).
object, length consumed).
...
@@ -111,7 +111,7 @@ class Codec:
...
@@ -111,7 +111,7 @@ class Codec:
class
StreamWriter
(
Codec
):
class
StreamWriter
(
Codec
):
def
__init__
(
self
,
stream
,
errors
=
'strict'
):
def
__init__
(
self
,
stream
,
errors
=
'strict'
):
""" Creates a StreamWriter instance.
""" Creates a StreamWriter instance.
...
@@ -134,7 +134,7 @@ class StreamWriter(Codec):
...
@@ -134,7 +134,7 @@ class StreamWriter(Codec):
""" Writes the object's contents encoded to self.stream.
""" Writes the object's contents encoded to self.stream.
"""
"""
data
,
consumed
=
self
.
encode
(
object
,
self
.
errors
)
data
,
consumed
=
self
.
encode
(
object
,
self
.
errors
)
self
.
stream
.
write
(
data
)
self
.
stream
.
write
(
data
)
def
writelines
(
self
,
list
):
def
writelines
(
self
,
list
):
...
@@ -156,19 +156,18 @@ class StreamWriter(Codec):
...
@@ -156,19 +156,18 @@ class StreamWriter(Codec):
"""
"""
pass
pass
def
__getattr__
(
self
,
name
,
def
__getattr__
(
self
,
name
,
getattr
=
getattr
):
getattr
=
getattr
):
""" Inherit all other methods from the underlying stream.
""" Inherit all other methods from the underlying stream.
"""
"""
return
getattr
(
self
.
stream
,
name
)
return
getattr
(
self
.
stream
,
name
)
###
###
class
StreamReader
(
Codec
):
class
StreamReader
(
Codec
):
def
__init__
(
self
,
stream
,
errors
=
'strict'
):
def
__init__
(
self
,
stream
,
errors
=
'strict'
):
""" Creates a StreamReader instance.
""" Creates a StreamReader instance.
...
@@ -218,7 +217,7 @@ class StreamReader(Codec):
...
@@ -218,7 +217,7 @@ class StreamReader(Codec):
while
1
:
while
1
:
try
:
try
:
object
,
decodedbytes
=
decode
(
data
,
self
.
errors
)
object
,
decodedbytes
=
decode
(
data
,
self
.
errors
)
except
ValueError
,
why
:
except
ValueError
,
why
:
# This method is slow but should work under pretty much
# This method is slow but should work under pretty much
# all conditions; at most 10 tries are made
# all conditions; at most 10 tries are made
i
=
i
+
1
i
=
i
+
1
...
@@ -250,7 +249,7 @@ class StreamReader(Codec):
...
@@ -250,7 +249,7 @@ class StreamReader(Codec):
line
=
self
.
stream
.
readline
()
line
=
self
.
stream
.
readline
()
else
:
else
:
line
=
self
.
stream
.
readline
(
size
)
line
=
self
.
stream
.
readline
(
size
)
return
self
.
decode
(
line
,
self
.
errors
)[
0
]
return
self
.
decode
(
line
,
self
.
errors
)[
0
]
def
readlines
(
self
,
sizehint
=
0
):
def
readlines
(
self
,
sizehint
=
0
):
...
@@ -269,7 +268,7 @@ class StreamReader(Codec):
...
@@ -269,7 +268,7 @@ class StreamReader(Codec):
data
=
self
.
stream
.
read
()
data
=
self
.
stream
.
read
()
else
:
else
:
data
=
self
.
stream
.
read
(
sizehint
)
data
=
self
.
stream
.
read
(
sizehint
)
return
self
.
decode
(
data
,
self
.
errors
)[
0
].
splitlines
(
1
)
return
self
.
decode
(
data
,
self
.
errors
)[
0
].
splitlines
(
1
)
def
reset
(
self
):
def
reset
(
self
):
...
@@ -282,13 +281,12 @@ class StreamReader(Codec):
...
@@ -282,13 +281,12 @@ class StreamReader(Codec):
"""
"""
pass
pass
def
__getattr__
(
self
,
name
,
def
__getattr__
(
self
,
name
,
getattr
=
getattr
):
getattr
=
getattr
):
""" Inherit all other methods from the underlying stream.
""" Inherit all other methods from the underlying stream.
"""
"""
return
getattr
(
self
.
stream
,
name
)
return
getattr
(
self
.
stream
,
name
)
###
###
...
@@ -305,7 +303,7 @@ class StreamReaderWriter:
...
@@ -305,7 +303,7 @@ class StreamReaderWriter:
# Optional attributes set by the file wrappers below
# Optional attributes set by the file wrappers below
encoding
=
'unknown'
encoding
=
'unknown'
def
__init__
(
self
,
stream
,
Reader
,
Writer
,
errors
=
'strict'
):
def
__init__
(
self
,
stream
,
Reader
,
Writer
,
errors
=
'strict'
):
""" Creates a StreamReaderWriter instance.
""" Creates a StreamReaderWriter instance.
...
@@ -323,7 +321,7 @@ class StreamReaderWriter:
...
@@ -323,7 +321,7 @@ class StreamReaderWriter:
self
.
writer
=
Writer
(
stream
,
errors
)
self
.
writer
=
Writer
(
stream
,
errors
)
self
.
errors
=
errors
self
.
errors
=
errors
def
read
(
self
,
size
=-
1
):
def
read
(
self
,
size
=-
1
):
return
self
.
reader
.
read
(
size
)
return
self
.
reader
.
read
(
size
)
...
@@ -335,11 +333,11 @@ class StreamReaderWriter:
...
@@ -335,11 +333,11 @@ class StreamReaderWriter:
return
self
.
reader
.
readlines
(
sizehint
)
return
self
.
reader
.
readlines
(
sizehint
)
def
write
(
self
,
data
):
def
write
(
self
,
data
):
return
self
.
writer
.
write
(
data
)
return
self
.
writer
.
write
(
data
)
def
writelines
(
self
,
list
):
def
writelines
(
self
,
list
):
return
self
.
writer
.
writelines
(
list
)
return
self
.
writer
.
writelines
(
list
)
...
@@ -348,13 +346,12 @@ class StreamReaderWriter:
...
@@ -348,13 +346,12 @@ class StreamReaderWriter:
self
.
reader
.
reset
()
self
.
reader
.
reset
()
self
.
writer
.
reset
()
self
.
writer
.
reset
()
def
__getattr__
(
self
,
name
,
def
__getattr__
(
self
,
name
,
getattr
=
getattr
):
getattr
=
getattr
):
""" Inherit all other methods from the underlying stream.
""" Inherit all other methods from the underlying stream.
"""
"""
return
getattr
(
self
.
stream
,
name
)
return
getattr
(
self
.
stream
,
name
)
###
###
...
@@ -379,7 +376,8 @@ class StreamRecoder:
...
@@ -379,7 +376,8 @@ class StreamRecoder:
data_encoding
=
'unknown'
data_encoding
=
'unknown'
file_encoding
=
'unknown'
file_encoding
=
'unknown'
def
__init__
(
self
,
stream
,
encode
,
decode
,
Reader
,
Writer
,
errors
=
'strict'
):
def
__init__
(
self
,
stream
,
encode
,
decode
,
Reader
,
Writer
,
errors
=
'strict'
):
""" Creates a StreamRecoder instance which implements a two-way
""" Creates a StreamRecoder instance which implements a two-way
conversion: encode and decode work on the frontend (the
conversion: encode and decode work on the frontend (the
...
@@ -411,13 +409,13 @@ class StreamRecoder:
...
@@ -411,13 +409,13 @@ class StreamRecoder:
self
.
writer
=
Writer
(
stream
,
errors
)
self
.
writer
=
Writer
(
stream
,
errors
)
self
.
errors
=
errors
self
.
errors
=
errors
def
read
(
self
,
size
=-
1
):
def
read
(
self
,
size
=-
1
):
data
=
self
.
reader
.
read
(
size
)
data
=
self
.
reader
.
read
(
size
)
data
,
bytesencoded
=
self
.
encode
(
data
,
self
.
errors
)
data
,
bytesencoded
=
self
.
encode
(
data
,
self
.
errors
)
return
data
return
data
def
readline
(
self
,
size
=
None
):
def
readline
(
self
,
size
=
None
):
if
size
is
None
:
if
size
is
None
:
data
=
self
.
reader
.
readline
()
data
=
self
.
reader
.
readline
()
...
@@ -426,7 +424,7 @@ class StreamRecoder:
...
@@ -426,7 +424,7 @@ class StreamRecoder:
data
,
bytesencoded
=
self
.
encode
(
data
,
self
.
errors
)
data
,
bytesencoded
=
self
.
encode
(
data
,
self
.
errors
)
return
data
return
data
def
readlines
(
self
,
sizehint
=
None
):
def
readlines
(
self
,
sizehint
=
None
):
if
sizehint
is
None
:
if
sizehint
is
None
:
data
=
self
.
reader
.
read
()
data
=
self
.
reader
.
read
()
...
@@ -435,12 +433,12 @@ class StreamRecoder:
...
@@ -435,12 +433,12 @@ class StreamRecoder:
data
,
bytesencoded
=
self
.
encode
(
data
,
self
.
errors
)
data
,
bytesencoded
=
self
.
encode
(
data
,
self
.
errors
)
return
data
.
splitlines
(
1
)
return
data
.
splitlines
(
1
)
def
write
(
self
,
data
):
def
write
(
self
,
data
):
data
,
bytesdecoded
=
self
.
decode
(
data
,
self
.
errors
)
data
,
bytesdecoded
=
self
.
decode
(
data
,
self
.
errors
)
return
self
.
writer
.
write
(
data
)
return
self
.
writer
.
write
(
data
)
def
writelines
(
self
,
list
):
def
writelines
(
self
,
list
):
data
=
''
.
join
(
list
)
data
=
''
.
join
(
list
)
data
,
bytesdecoded
=
self
.
decode
(
data
,
self
.
errors
)
data
,
bytesdecoded
=
self
.
decode
(
data
,
self
.
errors
)
...
@@ -451,13 +449,12 @@ class StreamRecoder:
...
@@ -451,13 +449,12 @@ class StreamRecoder:
self
.
reader
.
reset
()
self
.
reader
.
reset
()
self
.
writer
.
reset
()
self
.
writer
.
reset
()
def
__getattr__
(
self
,
name
,
def
__getattr__
(
self
,
name
,
getattr
=
getattr
):
getattr
=
getattr
):
""" Inherit all other methods from the underlying stream.
""" Inherit all other methods from the underlying stream.
"""
"""
return
getattr
(
self
.
stream
,
name
)
return
getattr
(
self
.
stream
,
name
)
### Shortcuts
### Shortcuts
...
@@ -499,7 +496,7 @@ def open(filename, mode='rb', encoding=None, errors='strict', buffering=1):
...
@@ -499,7 +496,7 @@ def open(filename, mode='rb', encoding=None, errors='strict', buffering=1):
file
=
__builtin__
.
open
(
filename
,
mode
,
buffering
)
file
=
__builtin__
.
open
(
filename
,
mode
,
buffering
)
if
encoding
is
None
:
if
encoding
is
None
:
return
file
return
file
(
e
,
d
,
sr
,
sw
)
=
lookup
(
encoding
)
(
e
,
d
,
sr
,
sw
)
=
lookup
(
encoding
)
srw
=
StreamReaderWriter
(
file
,
sr
,
sw
,
errors
)
srw
=
StreamReaderWriter
(
file
,
sr
,
sw
,
errors
)
# Add attributes to simplify introspection
# Add attributes to simplify introspection
srw
.
encoding
=
encoding
srw
.
encoding
=
encoding
...
@@ -535,7 +532,7 @@ def EncodedFile(file, data_encoding, file_encoding=None, errors='strict'):
...
@@ -535,7 +532,7 @@ def EncodedFile(file, data_encoding, file_encoding=None, errors='strict'):
encode
,
decode
=
lookup
(
data_encoding
)[:
2
]
encode
,
decode
=
lookup
(
data_encoding
)[:
2
]
Reader
,
Writer
=
lookup
(
file_encoding
)[
2
:]
Reader
,
Writer
=
lookup
(
file_encoding
)[
2
:]
sr
=
StreamRecoder
(
file
,
sr
=
StreamRecoder
(
file
,
encode
,
decode
,
Reader
,
Writer
,
encode
,
decode
,
Reader
,
Writer
,
errors
)
errors
)
# Add attributes to simplify introspection
# Add attributes to simplify introspection
sr
.
data_encoding
=
data_encoding
sr
.
data_encoding
=
data_encoding
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment