Define version_info to be a tuple (major, minor, micro, level); level
authorFred Drake <fdrake@acm.org>
Thu, 13 Apr 2000 15:29:10 +0000 (15:29 +0000)
committerFred Drake <fdrake@acm.org>
Thu, 13 Apr 2000 15:29:10 +0000 (15:29 +0000)
is a string "a2", "b1", "c1", or '' for a final release.

Added version_info and hexversion to the module docstring.

Python/sysmodule.c

index fa235fd9a9d1f4530e30a3ba6aa4a82870a4c3b8..cf9fea5b30618be2a822b80dbe4a793f3f558076 100644 (file)
@@ -352,7 +352,9 @@ Static objects:\n\
 \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 @@ _PySys_Init()
        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);