]> granicus.if.org Git - python/commitdiff
Add patch #1726668: Windows Vista support.
authorMarc-André Lemburg <mal@egenix.com>
Tue, 12 Jun 2007 09:26:49 +0000 (09:26 +0000)
committerMarc-André Lemburg <mal@egenix.com>
Tue, 12 Jun 2007 09:26:49 +0000 (09:26 +0000)
Lib/platform.py

index f02021e48208d11272b6f28a85d7512e77b7a394..af8acfaaaa9a5a54419dabfefb1555f28480ee34 100755 (executable)
@@ -600,6 +600,16 @@ def win32_ver(release='',version='',csd='',ptype=''):
                 release = '2003Server'
             else:
                 release = 'post2003'
+        elif maj == 6:
+            if min == 0:
+                # Per http://msdn2.microsoft.com/en-us/library/ms724429.aspx
+                productType = GetVersionEx(1)[8]
+                if productType == 1: # VER_NT_WORKSTATION
+                    release = 'Vista'
+                else:
+                    release = '2008Server'
+            else:
+                release = 'post2008Server'
     else:
         if not release:
             # E.g. Win3.1 with win32s
@@ -1068,6 +1078,16 @@ def uname():
             # (_syscmd_ver() tends to return the vendor name as well)
             if system == 'Microsoft Windows':
                 system = 'Windows'
+            elif system == 'Microsoft' and release == 'Windows':
+                # Under Windows Vista and Windows Server 2008,
+                # Microsoft changed the output of the ver command. The
+                # release is no longer printed.  This causes the
+                # system and release to be misidentified.
+                system = 'Windows'
+                if '6.0' == version[:3]:
+                    release = 'Vista'
+                else:
+                    release = ''
 
         # In case we still don't know anything useful, we'll try to
         # help ourselves