Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
68386bc0
Kaydet (Commit)
68386bc0
authored
Haz 24, 2012
tarafından
Larry Hastings
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Issue #15164: Change return value of platform.uname() from a
plain tuple to a collections.namedtuple.
üst
56ed2844
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
33 additions
and
18 deletions
+33
-18
platform.rst
Doc/library/platform.rst
+10
-4
platform.py
Lib/platform.py
+11
-7
sysconfig.py
Lib/sysconfig.py
+1
-1
test__locale.py
Lib/test/test__locale.py
+2
-2
test_platform.py
Lib/test/test_platform.py
+7
-1
NEWS
Misc/NEWS
+2
-3
No files found.
Doc/library/platform.rst
Dosyayı görüntüle @
68386bc0
...
...
@@ -158,14 +158,20 @@ Cross Platform
.. function:: uname()
Fairly portable uname interface. Returns a tuple of strings ``(system, node,
release, version, machine, processor)`` identifying the underlying platform.
Fairly portable uname interface. Returns a :func:`~collections.namedtuple`
containing six attributes: :attr:`system`, :attr:`node`, :attr:`release`,
:attr:`version`, :attr:`machine`, and :attr:`processor`.
Note that unlike the :func:`os.uname` function this also returns possible
processor information as additional tuple entry.
Note that this adds a sixth attribute (:attr:`processor`) not present
in the :func:`os.uname` result. Also, the attribute names are different
for the first two attributes; :func:`os.uname` names them
:attr:`sysname` and :attr:`nodename`.
Entries which cannot be determined are set to ``''``.
.. versionchanged:: 3.3
Result changed from a tuple to a namedtuple.
Java Platform
-------------
...
...
Lib/platform.py
Dosyayı görüntüle @
68386bc0
...
...
@@ -111,6 +111,7 @@ __copyright__ = """
__version__
=
'1.0.7'
import
collections
import
sys
,
os
,
re
### Globals & Constants
...
...
@@ -1027,6 +1028,9 @@ def architecture(executable=sys.executable,bits='',linkage=''):
### Portable uname() interface
uname_result
=
collections
.
namedtuple
(
"uname_result"
,
"system node release version machine processor"
)
_uname_cache
=
None
def
uname
():
...
...
@@ -1161,7 +1165,7 @@ def uname():
system
=
'Windows'
release
=
'Vista'
_uname_cache
=
system
,
node
,
release
,
version
,
machine
,
processor
_uname_cache
=
uname_result
(
system
,
node
,
release
,
version
,
machine
,
processor
)
return
_uname_cache
### Direct interfaces to some of the uname() return values
...
...
@@ -1173,7 +1177,7 @@ def system():
An empty string is returned if the value cannot be determined.
"""
return
uname
()
[
0
]
return
uname
()
.
system
def
node
():
...
...
@@ -1183,7 +1187,7 @@ def node():
An empty string is returned if the value cannot be determined.
"""
return
uname
()
[
1
]
return
uname
()
.
node
def
release
():
...
...
@@ -1192,7 +1196,7 @@ def release():
An empty string is returned if the value cannot be determined.
"""
return
uname
()
[
2
]
return
uname
()
.
release
def
version
():
...
...
@@ -1201,7 +1205,7 @@ def version():
An empty string is returned if the value cannot be determined.
"""
return
uname
()
[
3
]
return
uname
()
.
version
def
machine
():
...
...
@@ -1210,7 +1214,7 @@ def machine():
An empty string is returned if the value cannot be determined.
"""
return
uname
()
[
4
]
return
uname
()
.
machine
def
processor
():
...
...
@@ -1222,7 +1226,7 @@ def processor():
e.g. NetBSD does this.
"""
return
uname
()
[
5
]
return
uname
()
.
processor
### Various APIs for extracting information from sys.version
...
...
Lib/sysconfig.py
Dosyayı görüntüle @
68386bc0
...
...
@@ -553,7 +553,7 @@ def get_config_vars(*args):
_CONFIG_VARS
[
'srcdir'
]
=
os
.
path
.
normpath
(
srcdir
)
if
sys
.
platform
==
'darwin'
:
kernel_version
=
os
.
uname
()
[
2
]
# Kernel version (8.4.3)
kernel_version
=
os
.
uname
()
.
release
# Kernel version (8.4.3)
major_version
=
int
(
kernel_version
.
split
(
'.'
)[
0
])
if
major_version
<
8
:
...
...
Lib/test/test__locale.py
Dosyayı görüntüle @
68386bc0
...
...
@@ -11,8 +11,8 @@ import unittest
from
platform
import
uname
from
test.support
import
run_unittest
if
uname
()
[
0
]
==
"Darwin"
:
maj
,
min
,
mic
=
[
int
(
part
)
for
part
in
uname
()
[
2
]
.
split
(
"."
)]
if
uname
()
.
system
==
"Darwin"
:
maj
,
min
,
mic
=
[
int
(
part
)
for
part
in
uname
()
.
release
.
split
(
"."
)]
if
(
maj
,
min
,
mic
)
<
(
8
,
0
,
0
):
raise
unittest
.
SkipTest
(
"locale support broken for OS X < 10.4"
)
...
...
Lib/test/test_platform.py
Dosyayı görüntüle @
68386bc0
...
...
@@ -133,6 +133,12 @@ class PlatformTest(unittest.TestCase):
def
test_uname
(
self
):
res
=
platform
.
uname
()
self
.
assertTrue
(
any
(
res
))
self
.
assertEqual
(
res
[
0
],
res
.
system
)
self
.
assertEqual
(
res
[
1
],
res
.
node
)
self
.
assertEqual
(
res
[
2
],
res
.
release
)
self
.
assertEqual
(
res
[
3
],
res
.
version
)
self
.
assertEqual
(
res
[
4
],
res
.
machine
)
self
.
assertEqual
(
res
[
5
],
res
.
processor
)
@unittest.skipUnless
(
sys
.
platform
.
startswith
(
'win'
),
"windows only test"
)
def
test_uname_win32_ARCHITEW6432
(
self
):
...
...
@@ -166,7 +172,7 @@ class PlatformTest(unittest.TestCase):
def
test_mac_ver
(
self
):
res
=
platform
.
mac_ver
()
if
platform
.
uname
()
[
0
]
==
'Darwin'
:
if
platform
.
uname
()
.
system
==
'Darwin'
:
# We're on a MacOSX system, check that
# the right version information is returned
fd
=
os
.
popen
(
'sw_vers'
,
'r'
)
...
...
Misc/NEWS
Dosyayı görüntüle @
68386bc0
...
...
@@ -59,9 +59,8 @@ Core and Builtins
Library
-------
-
Support
Mageia
Linux
in
the
platform
module
.
-
Issue
#
11678
:
Support
Arch
linux
in
the
platform
module
.
-
Issue
#
15164
:
Change
return
value
of
platform
.
uname
()
from
a
plain
tuple
to
a
collections
.
namedtuple
.
-
Issue
#
15118
:
Change
return
value
of
os
.
uname
()
and
os
.
times
()
from
plain
tuples
to
immutable
iterable
objects
with
named
attributes
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment