[Pythonmac-SIG] parsing system_profiler xml output
bob at redivi.com
Thu Nov 11 23:56:58 CET 2004
On Nov 11, 2004, at 17:34, eichin at metacarta.com wrote:
>> If this doesn't work with Python 2.4's plistlib, then the output of
>> system profiler is not correct. I'm at least 90% sure that Python
>> 2.4's plistlib correctly reads and writes all valid plists.
> Oh, excellent. I was quoting from the stock 2.3 install on 10.3.6, so
> it's good to know that 2.4 fixes this (esp. if it's in Tiger...)
> sys.version: '2.3 (#1, Sep 13 2003, 00:49:11) \n[GCC 3.3 20030304
> (Apple Computer, Inc. build 1495)]'
Yes, I know you were talking about Python 2.3.. I'm just saying, if it
STILL doesn't work, then system profiler is broken (emitting XML not
compliant with the DTD). plistlib should no longer be broken because
it was somewhat recently audited by (at least) Just and I, with fixes
committed to CVS by Just before Python 2.4b2.
Python 2.4 in Tiger wouldn't necessarily be a good thing anyway. 2.3.4
would be MUCH better for the compatibility reasons, with 2.4 being
optional for the people who want it. Public information (posted darwin
source) says that the WWDC build of Tiger had Python 2.3.3.
Think of it this way: if Apple included 2.4, they probably wouldn't
also include 2.3 (following their record of not including 2.2 in 10.3,
and with other languages). This would break nearly every Python-based
Application built on Panther since they are primarily semi-standalone.
These applications would otherwise work, because 2.3.0 -> 2.3.x is
binary compatible. Keeping 2.3 also allows Python-based applications
built on Tiger to be deployed on Panther to a large degree (unless
extensions are included with 10.4 specific features).
Also, this would BREAK Apple's record of shipping painfully broken
releases of Python with OS X releases. 2.2.0 (10.2) was broken beyond
comprehension, and 2.3.0 (10.3) is quite crippled with regard to living
hospitably with other installations of Python 2.3 due to unfortunate
linker options and an incorrect mechanism for determining the path of
the current interpreter. These bugs, and more, were all fixed by
2.3.3, with 2.3.4 having a couple additional bug fixes that probably
don't matter as much.
More information about the Pythonmac-SIG