summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2001-11-02 21:41:00 (GMT)
committerAndrew M. Kuchling <amk@amk.ca>2001-11-02 21:41:00 (GMT)
commit75fec2c8edd4cc673abf44d032ede17a63657ec1 (patch)
treeb6ecbeda6642e3552b5380f24dc4b429c8d6043c
parenta73f78b6ec9ae578aa030f65314d4b0d6ac34981 (diff)
downloadcpython-75fec2c8edd4cc673abf44d032ede17a63657ec1.zip
cpython-75fec2c8edd4cc673abf44d032ede17a63657ec1.tar.gz
cpython-75fec2c8edd4cc673abf44d032ede17a63657ec1.tar.bz2
[Patch #476612] Add attributes from PEP247 to the md5 and sha modules
-rw-r--r--Modules/md5module.c8
-rw-r--r--Modules/shamodule.c7
2 files changed, 11 insertions, 4 deletions
diff --git a/Modules/md5module.c b/Modules/md5module.c
index 269a298..82bd415 100644
--- a/Modules/md5module.c
+++ b/Modules/md5module.c
@@ -161,6 +161,10 @@ static PyMethodDef md5_methods[] = {
static PyObject *
md5_getattr(md5object *self, char *name)
{
+ if (strcmp(name, "digest_size") == 0) {
+ return PyInt_FromLong(16);
+ }
+
return Py_FindMethod(md5_methods, (PyObject *)self, name);
}
@@ -264,11 +268,13 @@ static PyMethodDef md5_functions[] = {
DL_EXPORT(void)
initmd5(void)
{
- PyObject *m, *d;
+ PyObject *m, *d, *i;
MD5type.ob_type = &PyType_Type;
m = Py_InitModule3("md5", md5_functions, module_doc);
d = PyModule_GetDict(m);
PyDict_SetItemString(d, "MD5Type", (PyObject *)&MD5type);
+ if ( (i = PyInt_FromLong(16)) != NULL)
+ PyDict_SetItemString(d, "digest_size", i);
/* No need to check the error here, the caller will do that */
}
diff --git a/Modules/shamodule.c b/Modules/shamodule.c
index 8bfcec7..724f6d6 100644
--- a/Modules/shamodule.c
+++ b/Modules/shamodule.c
@@ -5,7 +5,7 @@
/* See below for information about the original code this module was
based upon. Additional work performed by:
- Andrew Kuchling (amk1@bigfoot.com)
+ Andrew Kuchling (akuchlin@mems-exchange.org)
Greg Stein (gstein@lyra.org)
*/
@@ -458,8 +458,8 @@ SHA_getattr(PyObject *self, char *name)
{
if (strcmp(name, "blocksize")==0)
return PyInt_FromLong(1);
- if (strcmp(name, "digestsize")==0)
- return PyInt_FromLong(20);
+ if (strcmp(name, "digest_size")==0 || strcmp(name, "digestsize")==0)
+ return PyInt_FromLong(20);
return Py_FindMethod(SHA_methods, self, name);
}
@@ -542,4 +542,5 @@ initsha(void)
functions require an integral number of
blocks */
insint("digestsize", 20);
+ insint("digest_size", 20);
}