111111
112112__version__ = '1.0.7'
113113
114+ import collections
114115import sys , os , re
115116
116117### Globals & Constants
@@ -1027,6 +1028,9 @@ def architecture(executable=sys.executable,bits='',linkage=''):
10271028
10281029### Portable uname() interface
10291030
1031+ uname_result = collections .namedtuple ("uname_result" ,
1032+ "system node release version machine processor" )
1033+
10301034_uname_cache = None
10311035
10321036def uname ():
@@ -1161,7 +1165,7 @@ def uname():
11611165 system = 'Windows'
11621166 release = 'Vista'
11631167
1164- _uname_cache = system ,node ,release ,version ,machine ,processor
1168+ _uname_cache = uname_result ( system ,node ,release ,version ,machine ,processor )
11651169 return _uname_cache
11661170
11671171### Direct interfaces to some of the uname() return values
@@ -1173,7 +1177,7 @@ def system():
11731177 An empty string is returned if the value cannot be determined.
11741178
11751179 """
1176- return uname ()[ 0 ]
1180+ return uname (). system
11771181
11781182def node ():
11791183
@@ -1183,7 +1187,7 @@ def node():
11831187 An empty string is returned if the value cannot be determined.
11841188
11851189 """
1186- return uname ()[ 1 ]
1190+ return uname (). node
11871191
11881192def release ():
11891193
@@ -1192,7 +1196,7 @@ def release():
11921196 An empty string is returned if the value cannot be determined.
11931197
11941198 """
1195- return uname ()[ 2 ]
1199+ return uname (). release
11961200
11971201def version ():
11981202
@@ -1201,7 +1205,7 @@ def version():
12011205 An empty string is returned if the value cannot be determined.
12021206
12031207 """
1204- return uname ()[ 3 ]
1208+ return uname (). version
12051209
12061210def machine ():
12071211
@@ -1210,7 +1214,7 @@ def machine():
12101214 An empty string is returned if the value cannot be determined.
12111215
12121216 """
1213- return uname ()[ 4 ]
1217+ return uname (). machine
12141218
12151219def processor ():
12161220
@@ -1222,7 +1226,7 @@ def processor():
12221226 e.g. NetBSD does this.
12231227
12241228 """
1225- return uname ()[ 5 ]
1229+ return uname (). processor
12261230
12271231### Various APIs for extracting information from sys.version
12281232
0 commit comments