Remove all but one use of the module dict.

This commit is contained in:
Fred Drake 2002-04-01 14:49:59 +00:00
parent d63e504d33
commit 9bb7432114
1 changed files with 38 additions and 44 deletions

View File

@ -560,17 +560,6 @@ static PyMethodDef time_methods[] = {
{NULL, NULL} /* sentinel */
};
static void
ins(PyObject *d, char *name, PyObject *v)
{
/* Don't worry too much about errors, they'll be caught by the
* caller of inittime().
*/
if (v)
PyDict_SetItemString(d, name, v);
Py_XDECREF(v);
}
static char module_doc[] =
"This module provides various functions to manipulate time values.\n\
@ -621,34 +610,35 @@ strptime() -- parse string to time tuple according to format specification\n\
DL_EXPORT(void)
inittime(void)
{
PyObject *m, *d;
PyObject *m;
char *p;
m = Py_InitModule3("time", time_methods, module_doc);
d = PyModule_GetDict(m);
/* Accept 2-digit dates unless PYTHONY2K is set and non-empty */
p = Py_GETENV("PYTHONY2K");
ins(d, "accept2dyear", PyInt_FromLong((long) (!p || !*p)));
PyModule_AddIntConstant(m, "accept2dyear", (long) (!p || !*p));
/* Squirrel away the module's dictionary for the y2k check */
Py_INCREF(d);
moddict = d;
moddict = PyModule_GetDict(m);
Py_INCREF(moddict);
#if defined(HAVE_TZNAME) && !defined(__GLIBC__) && !defined(__CYGWIN__)
tzset();
#ifdef PYOS_OS2
ins(d, "timezone", PyInt_FromLong((long)_timezone));
PyModule_AddIntConstant(m, "timezone", _timezone);
#else /* !PYOS_OS2 */
ins(d, "timezone", PyInt_FromLong((long)timezone));
PyModule_AddIntConstant(m, "timezone", timezone);
#endif /* PYOS_OS2 */
#ifdef HAVE_ALTZONE
ins(d, "altzone", PyInt_FromLong((long)altzone));
PyModule_AddIntConstant(m, "altzone", altzone);
#else
#ifdef PYOS_OS2
ins(d, "altzone", PyInt_FromLong((long)_timezone-3600));
PyModule_AddIntConstant(m, "altzone", _timezone-3600);
#else /* !PYOS_OS2 */
ins(d, "altzone", PyInt_FromLong((long)timezone-3600));
PyModule_AddIntConstant(m, "altzone", timezone-3600);
#endif /* PYOS_OS2 */
#endif
ins(d, "daylight", PyInt_FromLong((long)daylight));
ins(d, "tzname", Py_BuildValue("(zz)", tzname[0], tzname[1]));
PyModule_AddIntConstant(m, "daylight", daylight);
PyModule_AddObject(m, "tzname",
Py_BuildValue("(zz)", tzname[0], tzname[1]));
#else /* !HAVE_TZNAME || __GLIBC__ || __CYGWIN__*/
#ifdef HAVE_TM_ZONE
{
@ -670,19 +660,21 @@ inittime(void)
if( janzone < julyzone ) {
/* DST is reversed in the southern hemisphere */
ins(d, "timezone", PyInt_FromLong(julyzone));
ins(d, "altzone", PyInt_FromLong(janzone));
ins(d, "daylight",
PyInt_FromLong((long)(janzone != julyzone)));
ins(d, "tzname",
Py_BuildValue("(zz)", julyname, janname));
PyModule_AddIntConstant(m, "timezone", julyzone);
PyModule_AddIntConstant(m, "altzone", janzone);
PyModule_AddIntConstant(m, "daylight",
janzone != julyzone);
PyModule_AddObject(m, "tzname",
Py_BuildValue("(zz)",
julyname, janname));
} else {
ins(d, "timezone", PyInt_FromLong(janzone));
ins(d, "altzone", PyInt_FromLong(julyzone));
ins(d, "daylight",
PyInt_FromLong((long)(janzone != julyzone)));
ins(d, "tzname",
Py_BuildValue("(zz)", janname, julyname));
PyModule_AddIntConstant(m, "timezone", janzone);
PyModule_AddIntConstant(m, "altzone", julyzone);
PyModule_AddIntConstant(m, "daylight",
janzone != julyzone);
PyModule_AddObject(m, "tzname",
Py_BuildValue("(zz)",
janname, julyname));
}
}
#else
@ -692,23 +684,25 @@ inittime(void)
** we're looking for:-( )
*/
initmactimezone();
ins(d, "timezone", PyInt_FromLong(timezone));
ins(d, "altzone", PyInt_FromLong(timezone));
ins(d, "daylight", PyInt_FromLong((long)0));
ins(d, "tzname", Py_BuildValue("(zz)", "", ""));
PyModule_AddIntConstant(m, "timezone", timezone);
PyModule_AddIntConstant(m, "altzone", timezone);
PyModule_AddIntConstant(m, "daylight", 0);
PyModule_AddObject(m, "tzname", Py_BuildValue("(zz)", "", ""));
#endif /* macintosh */
#endif /* HAVE_TM_ZONE */
#ifdef __CYGWIN__
tzset();
ins(d, "timezone", PyInt_FromLong(_timezone));
ins(d, "altzone", PyInt_FromLong(_timezone));
ins(d, "daylight", PyInt_FromLong(_daylight));
ins(d, "tzname", Py_BuildValue("(zz)", _tzname[0], _tzname[1]));
PyModule_AddIntConstant(m, "timezone", _timezone);
PyModule_AddIntConstant(m, "altzone", _timezone);
PyModule_AddIntConstant(m, "daylight", _daylight);
PyModule_AddObject(m, "tzname",
Py_BuildValue("(zz)", _tzname[0], _tzname[1]));
#endif /* __CYGWIN__ */
#endif /* !HAVE_TZNAME || __GLIBC__ || __CYGWIN__*/
PyStructSequence_InitType(&StructTimeType, &struct_time_type_desc);
PyDict_SetItemString(d, "struct_time", (PyObject*) &StructTimeType);
Py_INCREF(&StructTimeType);
PyModule_AddObject(m, "struct_time", (PyObject*) &StructTimeType);
}