mirror of
https://github.com/python/cpython.git
synced 2025-11-02 11:08:57 +00:00
Remove last traces of cStringIO.
This commit is contained in:
parent
b1ef6735ba
commit
0312494665
13 changed files with 7 additions and 119 deletions
|
|
@ -484,7 +484,7 @@ For all other encodings the following :class:`UnicodeReader` and
|
||||||
parameter in their constructor and make sure that the data passes the real
|
parameter in their constructor and make sure that the data passes the real
|
||||||
reader or writer encoded as UTF-8::
|
reader or writer encoded as UTF-8::
|
||||||
|
|
||||||
import csv, codecs, cStringIO
|
import csv, codecs, io
|
||||||
|
|
||||||
class UTF8Recoder:
|
class UTF8Recoder:
|
||||||
"""
|
"""
|
||||||
|
|
@ -524,7 +524,7 @@ reader or writer encoded as UTF-8::
|
||||||
|
|
||||||
def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):
|
def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):
|
||||||
# Redirect output to a queue
|
# Redirect output to a queue
|
||||||
self.queue = cStringIO.StringIO()
|
self.queue = io.StringIO()
|
||||||
self.writer = csv.writer(self.queue, dialect=dialect, **kwds)
|
self.writer = csv.writer(self.queue, dialect=dialect, **kwds)
|
||||||
self.stream = f
|
self.stream = f
|
||||||
self.encoder = codecs.getincrementalencoder(encoding)()
|
self.encoder = codecs.getincrementalencoder(encoding)()
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ Here are the methods of the :class:`Message` class:
|
||||||
:class:`Generator` instance and use its :meth:`flatten` method directly.
|
:class:`Generator` instance and use its :meth:`flatten` method directly.
|
||||||
For example::
|
For example::
|
||||||
|
|
||||||
from cStringIO import StringIO
|
from io import StringIO
|
||||||
from email.generator import Generator
|
from email.generator import Generator
|
||||||
fp = StringIO()
|
fp = StringIO()
|
||||||
g = Generator(fp, mangle_from_=False, maxheaderlen=60)
|
g = Generator(fp, mangle_from_=False, maxheaderlen=60)
|
||||||
|
|
|
||||||
|
|
@ -555,7 +555,7 @@ the referenced object.
|
||||||
Here's a silly example that *might* shed more light::
|
Here's a silly example that *might* shed more light::
|
||||||
|
|
||||||
import pickle
|
import pickle
|
||||||
from cStringIO import StringIO
|
from io import StringIO
|
||||||
|
|
||||||
src = StringIO()
|
src = StringIO()
|
||||||
p = pickle.Pickler(src)
|
p = pickle.Pickler(src)
|
||||||
|
|
|
||||||
|
|
@ -1,70 +0,0 @@
|
||||||
#ifndef Py_CSTRINGIO_H
|
|
||||||
#define Py_CSTRINGIO_H
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
/*
|
|
||||||
|
|
||||||
This header provides access to cStringIO objects from C.
|
|
||||||
Functions are provided for calling cStringIO objects and
|
|
||||||
macros are provided for testing whether you have cStringIO
|
|
||||||
objects.
|
|
||||||
|
|
||||||
Before calling any of the functions or macros, you must initialize
|
|
||||||
the routines with:
|
|
||||||
|
|
||||||
PycString_IMPORT
|
|
||||||
|
|
||||||
This would typically be done in your init function.
|
|
||||||
|
|
||||||
*/
|
|
||||||
#define PycString_IMPORT \
|
|
||||||
PycStringIO = (struct PycStringIO_CAPI*)PyCObject_Import("cStringIO", \
|
|
||||||
"cStringIO_CAPI")
|
|
||||||
|
|
||||||
/* Basic functions to manipulate cStringIO objects from C */
|
|
||||||
|
|
||||||
static struct PycStringIO_CAPI {
|
|
||||||
|
|
||||||
/* Read a string from an input object. If the last argument
|
|
||||||
is -1, the remainder will be read.
|
|
||||||
*/
|
|
||||||
int(*cread)(PyObject *, char **, Py_ssize_t);
|
|
||||||
|
|
||||||
/* Read a line from an input object. Returns the length of the read
|
|
||||||
line as an int and a pointer inside the object buffer as char** (so
|
|
||||||
the caller doesn't have to provide its own buffer as destination).
|
|
||||||
*/
|
|
||||||
int(*creadline)(PyObject *, char **);
|
|
||||||
|
|
||||||
/* Write a string to an output object*/
|
|
||||||
int(*cwrite)(PyObject *, const char *, Py_ssize_t);
|
|
||||||
|
|
||||||
/* Get the output object as a Python string (returns new reference). */
|
|
||||||
PyObject *(*cgetvalue)(PyObject *);
|
|
||||||
|
|
||||||
/* Create a new output object */
|
|
||||||
PyObject *(*NewOutput)(int);
|
|
||||||
|
|
||||||
/* Create an input object from a Python string
|
|
||||||
(copies the Python string reference).
|
|
||||||
*/
|
|
||||||
PyObject *(*NewInput)(PyObject *);
|
|
||||||
|
|
||||||
/* The Python types for cStringIO input and output objects.
|
|
||||||
Note that you can do input on an output object.
|
|
||||||
*/
|
|
||||||
PyTypeObject *InputType, *OutputType;
|
|
||||||
|
|
||||||
} *PycStringIO;
|
|
||||||
|
|
||||||
/* These can be used to test if you have one */
|
|
||||||
#define PycStringIO_InputCheck(O) \
|
|
||||||
(Py_TYPE(O)==PycStringIO->InputType)
|
|
||||||
#define PycStringIO_OutputCheck(O) \
|
|
||||||
(Py_TYPE(O)==PycStringIO->OutputType)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif /* !Py_CSTRINGIO_H */
|
|
||||||
|
|
@ -297,7 +297,7 @@ class SysModuleTest(unittest.TestCase):
|
||||||
self.assert_(isinstance(vi[4], int))
|
self.assert_(isinstance(vi[4], int))
|
||||||
|
|
||||||
def test_43581(self):
|
def test_43581(self):
|
||||||
# Can't use sys.stdout, as this is a cStringIO object when
|
# Can't use sys.stdout, as this is a StringIO object when
|
||||||
# the test runs under regrtest.
|
# the test runs under regrtest.
|
||||||
self.assertEqual(sys.__stdout__.encoding, sys.__stderr__.encoding)
|
self.assertEqual(sys.__stdout__.encoding, sys.__stderr__.encoding)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -339,9 +339,6 @@ _symtable symtablemodule.c
|
||||||
# Fred Drake's interface to the Python parser
|
# Fred Drake's interface to the Python parser
|
||||||
#parser parsermodule.c
|
#parser parsermodule.c
|
||||||
|
|
||||||
# cStringIO
|
|
||||||
#cStringIO cStringIO.c
|
|
||||||
|
|
||||||
|
|
||||||
# Lee Busby's SIGFPE modules.
|
# Lee Busby's SIGFPE modules.
|
||||||
# The library to link fpectl with is platform specific.
|
# The library to link fpectl with is platform specific.
|
||||||
|
|
|
||||||
|
|
@ -690,10 +690,6 @@
|
||||||
RelativePath="..\..\Include\complexobject.h"
|
RelativePath="..\..\Include\complexobject.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\..\Include\cStringIO.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\Include\datetime.h"
|
RelativePath="..\..\Include\datetime.h"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,6 @@ extern void init_symtable();
|
||||||
extern void init_weakref();
|
extern void init_weakref();
|
||||||
extern void initarray();
|
extern void initarray();
|
||||||
extern void initbinascii();
|
extern void initbinascii();
|
||||||
extern void initcStringIO();
|
|
||||||
extern void initcollections();
|
extern void initcollections();
|
||||||
extern void initcmath();
|
extern void initcmath();
|
||||||
extern void initdatetime();
|
extern void initdatetime();
|
||||||
|
|
@ -110,7 +109,6 @@ struct _inittab _PyImport_Inittab[] = {
|
||||||
{"_weakref", init_weakref},
|
{"_weakref", init_weakref},
|
||||||
{"array", initarray},
|
{"array", initarray},
|
||||||
{"binascii", initbinascii},
|
{"binascii", initbinascii},
|
||||||
{"cStringIO", initcStringIO},
|
|
||||||
{"collections", initcollections},
|
{"collections", initcollections},
|
||||||
{"cmath", initcmath},
|
{"cmath", initcmath},
|
||||||
{"datetime", initdatetime},
|
{"datetime", initdatetime},
|
||||||
|
|
|
||||||
|
|
@ -1218,9 +1218,6 @@ EXPORTS
|
||||||
; "initcPickle"
|
; "initcPickle"
|
||||||
; "fast_save_leave"
|
; "fast_save_leave"
|
||||||
|
|
||||||
; From python26_s.lib(cStringIO)
|
|
||||||
; "initcStringIO"
|
|
||||||
|
|
||||||
; From python26_s.lib(_csv)
|
; From python26_s.lib(_csv)
|
||||||
; "init_csv"
|
; "init_csv"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,6 @@ extern void init_socket(void);
|
||||||
extern void initstruct(void);
|
extern void initstruct(void);
|
||||||
extern void inittime(void);
|
extern void inittime(void);
|
||||||
extern void init_thread(void);
|
extern void init_thread(void);
|
||||||
extern void initcStringIO(void);
|
|
||||||
extern void initpcre(void);
|
extern void initpcre(void);
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
extern void initmsvcrt(void);
|
extern void initmsvcrt(void);
|
||||||
|
|
@ -78,7 +77,6 @@ struct _inittab _PyImport_Inittab[] = {
|
||||||
#ifdef WITH_THREAD
|
#ifdef WITH_THREAD
|
||||||
{"_thread", init_thread},
|
{"_thread", init_thread},
|
||||||
#endif
|
#endif
|
||||||
{"cStringIO", initcStringIO},
|
|
||||||
{"pcre", initpcre},
|
{"pcre", initpcre},
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
{"msvcrt", initmsvcrt},
|
{"msvcrt", initmsvcrt},
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,6 @@ MODULES = \
|
||||||
$(PATHOBJ)\ArrayModule.obj \
|
$(PATHOBJ)\ArrayModule.obj \
|
||||||
$(PATHOBJ)\BinAscii.obj \
|
$(PATHOBJ)\BinAscii.obj \
|
||||||
$(PATHOBJ)\CMathModule.obj \
|
$(PATHOBJ)\CMathModule.obj \
|
||||||
$(PATHOBJ)\cStringIO.obj \
|
|
||||||
$(PATHOBJ)\ErrnoModule.obj \
|
$(PATHOBJ)\ErrnoModule.obj \
|
||||||
$(PATHOBJ)\GCModule.obj \
|
$(PATHOBJ)\GCModule.obj \
|
||||||
$(PATHOBJ)\GetBuildInfo.obj \
|
$(PATHOBJ)\GetBuildInfo.obj \
|
||||||
|
|
@ -440,7 +439,7 @@ cmathmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \
|
||||||
|
|
||||||
cpickle.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \
|
cpickle.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \
|
||||||
$(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \
|
$(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \
|
||||||
$(PY_INCLUDE)\cstringio.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \
|
$(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \
|
||||||
$(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \
|
$(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \
|
||||||
$(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \
|
$(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \
|
||||||
$(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \
|
$(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \
|
||||||
|
|
@ -466,20 +465,6 @@ cryptmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \
|
||||||
$(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \
|
$(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \
|
||||||
$(PY_INCLUDE)\tupleobject.h
|
$(PY_INCLUDE)\tupleobject.h
|
||||||
|
|
||||||
cstringio.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \
|
|
||||||
$(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \
|
|
||||||
$(PY_INCLUDE)\cstringio.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \
|
|
||||||
$(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \
|
|
||||||
$(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \
|
|
||||||
$(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \
|
|
||||||
$(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \
|
|
||||||
$(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \
|
|
||||||
$(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \
|
|
||||||
$(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \
|
|
||||||
$(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \
|
|
||||||
$(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \
|
|
||||||
$(PY_INCLUDE)\tupleobject.h
|
|
||||||
|
|
||||||
cursesmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \
|
cursesmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \
|
||||||
$(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \
|
$(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \
|
||||||
pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \
|
pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,6 @@ MODULES = \
|
||||||
ArrayModule.obj \
|
ArrayModule.obj \
|
||||||
BinAscii.obj \
|
BinAscii.obj \
|
||||||
CMathModule.obj \
|
CMathModule.obj \
|
||||||
cStringIO.obj \
|
|
||||||
ErrnoModule.obj \
|
ErrnoModule.obj \
|
||||||
GetBuildInfo.obj \
|
GetBuildInfo.obj \
|
||||||
GetPathP.obj \
|
GetPathP.obj \
|
||||||
|
|
@ -379,7 +378,7 @@ cmathmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \
|
||||||
stringobject.h sysmodule.h traceback.h tupleobject.h
|
stringobject.h sysmodule.h traceback.h tupleobject.h
|
||||||
|
|
||||||
cpickle.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \
|
cpickle.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \
|
||||||
pyconfig.h cstringio.h dictobject.h fileobject.h floatobject.h \
|
pyconfig.h dictobject.h fileobject.h floatobject.h \
|
||||||
funcobject.h import.h intobject.h intrcheck.h listobject.h \
|
funcobject.h import.h intobject.h intrcheck.h listobject.h \
|
||||||
longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \
|
longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \
|
||||||
mymath.h myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \
|
mymath.h myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \
|
||||||
|
|
@ -394,14 +393,6 @@ cryptmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \
|
||||||
pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \
|
pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \
|
||||||
traceback.h tupleobject.h
|
traceback.h tupleobject.h
|
||||||
|
|
||||||
cstringio.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \
|
|
||||||
pyconfig.h cstringio.h dictobject.h fileobject.h floatobject.h \
|
|
||||||
funcobject.h import.h intobject.h intrcheck.h listobject.h \
|
|
||||||
longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \
|
|
||||||
myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \
|
|
||||||
pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \
|
|
||||||
stringobject.h sysmodule.h traceback.h tupleobject.h
|
|
||||||
|
|
||||||
cursesmodule.obj: abstract.h ceval.h classobject.h cobject.h \
|
cursesmodule.obj: abstract.h ceval.h classobject.h cobject.h \
|
||||||
complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \
|
complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \
|
||||||
funcobject.h import.h intobject.h intrcheck.h listobject.h \
|
funcobject.h import.h intobject.h intrcheck.h listobject.h \
|
||||||
|
|
|
||||||
|
|
@ -694,10 +694,6 @@
|
||||||
RelativePath="..\Include\complexobject.h"
|
RelativePath="..\Include\complexobject.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\Include\cStringIO.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\Include\datetime.h"
|
RelativePath="..\Include\datetime.h"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue