
Ronald Oussoren wrote:
On 22-sep-2005, at 5:26, Guido van Rossum wrote:
The platform module has a way to map system names such as returned by uname() to marketing names. It maps SunOS to Solaris, for example. But it doesn't map Darwin to Mac OS X. I think I know how to map Darwin version numbers to OS X version numbers: from http://www.opensource.apple.com/darwinsource/ it is clear that OS X 10.a.b corresponds to Darwin (a+4).b, except for OS X versions <= 10.1. I'd be happy to write the code and add it to system_alias() in platform.py. Is this a good idea?
There's no good reason to assume that the mapping from kernel version to marketing version will stay the same in the future. The savest way to get the marketing version of the currently running OSX is to run / usr/sbin/sw_vers and parse its output. There might also be a public API for getting the same information. Py2app, and specifically the bdist_mpkg component of that, contains code to parse sw_vers output.
I don't have access to Macs, so there nothing much I can say about this. In general, it's always better to rely on system tools for finding the marketing name of an OS than to try to come up with a work-around. If gestalt() returns the proper name, then this should be used. If sw_vers provides a more reliable way to do this, parsing its output seems like a better idea. -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Sep 22 2005)
Python/Zope Consulting and Support ... http://www.egenix.com/ mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::