Mercurial > cpython-lru_cache-weakref
diff Python/sysmodule.c @ 12394:60dd95c75999 legacy-trunk
Define version_info to be a tuple (major, minor, micro, level); level
is a string "a2", "b1", "c1", or '' for a final release.
Added version_info and hexversion to the module docstring.
| author | Fred Drake <fdrake@acm.org> |
|---|---|
| date | Thu, 13 Apr 2000 15:29:10 +0000 |
| parents | 9b9abde032b3 |
| children | f82b2577fa0c |
line wrap: on
line diff
--- a/Python/sysmodule.c Thu Apr 13 15:20:40 2000 +0000 +++ b/Python/sysmodule.c Thu Apr 13 15:29:10 2000 +0000 @@ -352,7 +352,9 @@ \n\ maxint -- the largest supported integer (the smallest is -maxint-1)\n\ builtin_module_names -- tuple of module names built into this intepreter\n\ -version -- the version of this interpreter\n\ +version -- the version of this interpreter as a string\n\ +version_info -- version information as a tuple\n\ +hexversion -- version information encoded as a single integer\n\ copyright -- copyright notice pertaining to this interpreter\n\ platform -- platform identifier\n\ executable -- pathname of this Python interpreter\n\ @@ -406,6 +408,22 @@ PyDict_SetItemString(sysdict, "hexversion", v = PyInt_FromLong(PY_VERSION_HEX)); Py_XDECREF(v); +#if PY_RELEASE_LEVEL == PY_RELEASE_LEVEL_FINAL + v = PyString_FromStringAndSize(NULL, 0); +#else + { + char buff[3]; + buff[0] = PY_RELEASE_LEVEL - PY_RELEASE_LEVEL_ALPHA + 'a'; + buff[1] = PY_RELEASE_SERIAL + '0'; + buff[2] = '\0'; + v = PyString_FromString(buff); + } +#endif /* PY_RELEASE_LEVEL == PY_RELEASE_LEVEL_FINAL */ + PyDict_SetItemString(sysdict, "version_info", + v = Py_BuildValue("iiiN", PY_MAJOR_VERSION, + PY_MINOR_VERSION, + PY_MICRO_VERSION, v)); + Py_XDECREF(v); PyDict_SetItemString(sysdict, "copyright", v = PyString_FromString(Py_GetCopyright())); Py_XDECREF(v);
