[Patches] [ python-Patches-1726668 ] platform.system() returns incorrect value in Vista

SourceForge.net noreply at sourceforge.net
Tue Jun 12 11:27:17 CEST 2007


Patches item #1726668, was opened at 2007-05-28 03:23
Message generated for change (Comment added) made by lemburg
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1726668&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
>Status: Closed
Resolution: None
Priority: 5
Private: No
Submitted By: Benjamin Leppard (bleppard)
Assigned to: M.-A. Lemburg (lemburg)
Summary: platform.system() returns incorrect value in Vista

Initial Comment:


On Microsoft Vista platform.system() returns 'Microsoft' and platform.release() returns 'Windows'

Under Microsoft Windows XP SP2 platform.system() returns 'Windows' and platform.release() returns 'XP'.

This is problem was caused by a change in the output of the "ver" command. In Windows XP SP2 "ver" outputted 'Microsoft Windows XP [Version 5.1.2600]'  In Microsoft Vista "ver" outputted 'Microsoft Windows [Version 6.0.6000]'. The lack of the 3rd word before version causes _syscmd_ver(...) in platform.py to return 'Microsoft' for system instead of 'Microsoft Windows'. This causes uname() to return the incorrect values. Both system() and release() call uname().

This problem occurs in the trunk.

I have attached a patch against the trunk svn that fixes the symptom of the problem in uname()

----------------------------------------------------------------------

>Comment By: M.-A. Lemburg (lemburg)
Date: 2007-06-12 11:27

Message:
Logged In: YES 
user_id=38388
Originator: NO

Thank you.

Committed revision 55927.


----------------------------------------------------------------------

Comment By: Benjamin Leppard (bleppard)
Date: 2007-05-30 08:04

Message:
Logged In: YES 
user_id=1802829
Originator: YES

I updated the patch to included comments, and set the release to 'Vista'
when the version starts with '6.0'. Unfortunately both Windows Server 2008
and Windows Vista both are version 6.0.

I updated win32_ver() to report the correct values for Vista and Windows
Server 2008. It reports release of '2008Server' for Windows 2008 server,
and release of 'post2008Server' for version 6.1 or greater. I have not
tested it under Windows Server 2008.
File Added: Platform-VistaFix2.patch

----------------------------------------------------------------------

Comment By: M.-A. Lemburg (lemburg)
Date: 2007-05-29 18:08

Message:
Logged In: YES 
user_id=38388
Originator: NO

I don't have Vista handy to check the patch. 

Ideally, win32_ver() should be patched to return proper values for Vista
directly from the registry. Would be great if you could provide a patch for
this as well.

However, in some cases _syscmd_ver() will still be used, so the patch is
fine. Please add a comment explaining the problem and also add a check to
set release to 'Vista' in case the version starts with '6.0'.

Thanks.

----------------------------------------------------------------------

Comment By: Martin v. Löwis (loewis)
Date: 2007-05-29 07:11

Message:
Logged In: YES 
user_id=21627
Originator: NO

Reclassifying as a patch. Marc-Andre, can you take a look? If not, please
unassign.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1726668&group_id=5470


More information about the Patches mailing list