summaryrefslogtreecommitdiffstats
path: root/Modules/zlibmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/zlibmodule.c')
-rw-r--r--Modules/zlibmodule.c99
1 files changed, 88 insertions, 11 deletions
diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c
index 6fe9729..91867c5 100644
--- a/Modules/zlibmodule.c
+++ b/Modules/zlibmodule.c
@@ -27,6 +27,16 @@ typedef struct
z_stream zst;
} compobject;
+static char compressobj__doc__[] =
+"compressobj() -- Return a compressor object.\n"
+"compressobj(level) -- Return a compressor object, using the given compression level.\n"
+;
+
+static char decompressobj__doc__[] =
+"decompressobj() -- Return a decompressor object.\n"
+"decompressobj(wbits) -- Return a decompressor object, setting the window buffer size to wbits.\n"
+;
+
static compobject *
newcompobject(type)
PyTypeObject *type;
@@ -38,6 +48,13 @@ newcompobject(type)
return self;
}
+static char compress__doc__[] =
+"compress(string) -- Compress string using the default compression level, "
+"returning a string containing compressed data.\n"
+"compress(string, level) -- Compress string, using the chosen compression "
+"level (from 1 to 9). Return a string containing the compressed data.\n"
+;
+
static PyObject *
PyZlib_compress(self, args)
PyObject *self;
@@ -125,6 +142,11 @@ PyZlib_compress(self, args)
return ReturnVal;
}
+static char decompress__doc__[] =
+"decompress(string) -- Decompress the data in string, returning "
+"a string containing the decompressed data."
+;
+
static PyObject *
PyZlib_decompress(self, args)
PyObject *self;
@@ -341,6 +363,14 @@ Decomp_dealloc(self)
err=inflateEnd(&self->zst); /* Deallocate zstream structure */
}
+static char comp_compress__doc__[] =
+"compress(data) -- Return a string containing a compressed version of the data.\n\n"
+"After calling this function, some of the input data may still\n"
+"be stored in internal buffers for later processing.\n"
+"Call the flush() method to clear these buffers."
+;
+
+
static PyObject *
PyZlib_objcompress(self, args)
compobject *self;
@@ -383,6 +413,13 @@ PyZlib_objcompress(self, args)
return RetVal;
}
+static char decomp_decompress__doc__[] =
+"decompress(data) -- Return a string containing the decompressed version of the data.\n\n"
+"After calling this function, some of the input data may still\n"
+"be stored in internal buffers for later processing.\n"
+"Call the flush() method to clear these buffers."
+;
+
static PyObject *
PyZlib_objdecompress(self, args)
compobject *self;
@@ -424,6 +461,11 @@ PyZlib_objdecompress(self, args)
return RetVal;
}
+static char comp_flush__doc__[] =
+"flush() -- Return a string containing any remaining compressed data. "
+"The compressor object can no longer be used after this call."
+;
+
static PyObject *
PyZlib_flush(self, args)
compobject *self;
@@ -474,6 +516,11 @@ PyZlib_flush(self, args)
return RetVal;
}
+static char decomp_flush__doc__[] =
+"flush() -- Return a string containing any remaining decompressed data. "
+"The decompressor object can no longer be used after this call."
+;
+
static PyObject *
PyZlib_unflush(self, args)
compobject *self;
@@ -525,15 +572,15 @@ PyZlib_unflush(self, args)
static PyMethodDef comp_methods[] =
{
- {"compress", PyZlib_objcompress, 1},
- {"flush", PyZlib_flush, 0},
+ {"compress", PyZlib_objcompress, 1, comp_compress__doc__},
+ {"flush", PyZlib_flush, 0, comp_flush__doc__},
{NULL, NULL}
};
static PyMethodDef Decomp_methods[] =
{
- {"decompress", PyZlib_objdecompress, 1},
- {"flush", PyZlib_unflush, 0},
+ {"decompress", PyZlib_objdecompress, 1, decomp_decompress__doc__},
+ {"flush", PyZlib_unflush, 0, decomp_flush__doc__},
{NULL, NULL}
};
@@ -553,6 +600,13 @@ Decomp_getattr(self, name)
return Py_FindMethod(Decomp_methods, (PyObject *)self, name);
}
+static char adler32__doc__[] =
+"adler32(string) -- Compute an Adler-32 checksum of string, using "
+"a default starting value, and returning an integer value.\n"
+"adler32(string, value) -- Compute an Adler-32 checksum of string, using "
+"the starting value provided, and returning an integer value\n"
+;
+
static PyObject *
PyZlib_adler32(self, args)
PyObject *self, *args;
@@ -569,6 +623,12 @@ PyZlib_adler32(self, args)
return Py_BuildValue("l", adler32val);
}
+static char crc32__doc__[] =
+"crc32(string) -- Compute a CRC-32 checksum of string, using "
+"a default starting value, and returning an integer value.\n"
+"crc32(string, value) -- Compute a CRC-32 checksum of string, using "
+"the starting value provided, and returning an integer value.\n"
+;
static PyObject *
PyZlib_crc32(self, args)
@@ -588,12 +648,12 @@ PyZlib_crc32(self, args)
static PyMethodDef zlib_methods[] =
{
- {"adler32", PyZlib_adler32, 1},
- {"compress", PyZlib_compress, 1},
- {"compressobj", PyZlib_compressobj, 1},
- {"crc32", PyZlib_crc32, 1},
- {"decompress", PyZlib_decompress, 1},
- {"decompressobj", PyZlib_decompressobj, 1},
+ {"adler32", (PyCFunction)PyZlib_adler32, 1, adler32__doc__},
+ {"compress", (PyCFunction)PyZlib_compress, 1, compress__doc__},
+ {"compressobj", (PyCFunction)PyZlib_compressobj, 1, compressobj__doc__},
+ {"crc32", (PyCFunction)PyZlib_crc32, 1, crc32__doc__},
+ {"decompress", (PyCFunction)PyZlib_decompress, 1, decompress__doc__},
+ {"decompressobj", (PyCFunction)PyZlib_decompressobj, 1, decompressobj__doc__},
{NULL, NULL}
};
@@ -653,11 +713,28 @@ insint(d, name, value)
}
}
+static char zlib_module_documentation[]=
+"The functions in this module allow compression and decompression "
+"using the zlib library, which is based on GNU zip. \n\n"
+"adler32(string) -- Compute an Adler-32 checksum.\n"
+"adler32(string, start) -- Compute an Adler-32 checksum using a given starting value.\n"
+"compress(string) -- Compress a string.\n"
+"compress(string, level) -- Compress a string with the given level of compression (1--9).\n"
+"compressobj([level]) -- Return a compressor object.\n"
+"crc32(string) -- Compute a CRC-32 checksum.\n"
+"crc32(string, start) -- Compute a CRC-32 checksum using a given starting value.\n"
+"decompressobj([wbits]) -- Return a decompressor object (wbits=window buffer size).\n\n"
+"Compressor objects support compress() and flush() methods; decompressor \n"
+"objects support decompress() and flush()."
+;
+
void
PyInit_zlib()
{
PyObject *m, *d;
- m = Py_InitModule("zlib", zlib_methods);
+ m = Py_InitModule4("zlib", zlib_methods,
+ zlib_module_documentation,
+ (PyObject*)NULL,PYTHON_API_VERSION);
d = PyModule_GetDict(m);
ZlibError = Py_BuildValue("s", "zlib.error");
PyDict_SetItemString(d, "error", ZlibError);