def _sys_version(sys_version=None):
""" Returns a parsed version of Python's sys.version as tuple
- (name, version, branch, revision, buildno, builddate, compiler)
- referring to the Python implementation name, version, branch,
- revision, build number, build date/time as string and the compiler
- identification string.
+ (name, version, branch, revision, buildno, builddate, compiler)
+ referring to the Python implementation name, version, branch,
+ revision, build number, build date/time as string and the compiler
+ identification string.
Note that unlike the Python sys.version, the returned value
for the Python version will always include the patchlevel (it
will always include the patchlevel (it defaults to 0).
"""
- if hasattr(sys, 'version_info'):
- return '%i.%i.%i' % sys.version_info[:3]
return _sys_version()[1]
def python_version_tuple():
will always include the patchlevel (it defaults to 0).
"""
- if hasattr(sys, 'version_info'):
- return sys.version_info[:3]
return tuple(_sys_version()[1].split('.'))
def python_branch():
finally:
os.remove(link)
- def test_machine(self):
- res = platform.machine()
-
- def test_node(self):
- res = platform.node()
-
def test_platform(self):
for aliased in (False, True):
for terse in (False, True):
res = platform.platform(aliased, terse)
- def test_processor(self):
- res = platform.processor()
+ def test_system(self):
+ res = platform.system()
- def test_python_build(self):
- res = platform.python_build()
+ def test_node(self):
+ res = platform.node()
- def test_python_compiler(self):
- res = platform.python_compiler()
+ def test_release(self):
+ res = platform.release()
def test_version(self):
- res1 = platform.version()
- res2 = platform.version_tuple()
+ res = platform.version()
+
+ def test_machine(self):
+ res = platform.machine()
+
+ def test_processor(self):
+ res = platform.processor()
+
+ def test_python_implementation(self):
+ res = platform.python_implementation()
+
+ def test_python_version(self):
+ res1 = platform.python_version()
+ res2 = platform.python_version_tuple()
self.assertEqual(res1, ".".join(res2))
- def test_release(self):
- res = platform.release()
+ def test_python_branch(self):
+ res = platform.python_branch()
- def test_system(self):
- res = platform.system()
+ def test_python_revision(self):
+ res = platform.python_revision()
- def test_version(self):
- res = platform.version()
+ def test_python_build(self):
+ res = platform.python_build()
+
+ def test_python_compiler(self):
+ res = platform.python_compiler()
def test_system_alias(self):
res = platform.system_alias(
except IOError as msg:
pass
fp = self.open(url, data)
- headers = fp.info()
- if filename:
- tfp = open(filename, 'wb')
- else:
- import tempfile
- garbage, path = splittype(url)
- garbage, path = splithost(path or "")
- path, garbage = splitquery(path or "")
- path, garbage = splitattr(path or "")
- suffix = os.path.splitext(path)[1]
- (fd, filename) = tempfile.mkstemp(suffix)
- self.__tempfiles.append(filename)
- tfp = os.fdopen(fd, 'wb')
- result = filename, headers
- if self.tempcache is not None:
- self.tempcache[url] = result
- bs = 1024*8
- size = -1
- read = 0
- blocknum = 0
- if reporthook:
- if "content-length" in headers:
- size = int(headers["Content-Length"])
- reporthook(blocknum, bs, size)
- while 1:
- block = fp.read(bs)
- if not block:
- break
- read += len(block)
- tfp.write(block)
- blocknum += 1
- if reporthook:
- reporthook(blocknum, bs, size)
- fp.close()
- tfp.close()
+ try:
+ headers = fp.info()
+ if filename:
+ tfp = open(filename, 'wb')
+ else:
+ import tempfile
+ garbage, path = splittype(url)
+ garbage, path = splithost(path or "")
+ path, garbage = splitquery(path or "")
+ path, garbage = splitattr(path or "")
+ suffix = os.path.splitext(path)[1]
+ (fd, filename) = tempfile.mkstemp(suffix)
+ self.__tempfiles.append(filename)
+ tfp = os.fdopen(fd, 'wb')
+ try:
+ result = filename, headers
+ if self.tempcache is not None:
+ self.tempcache[url] = result
+ bs = 1024*8
+ size = -1
+ read = 0
+ blocknum = 0
+ if reporthook:
+ if "content-length" in headers:
+ size = int(headers["Content-Length"])
+ reporthook(blocknum, bs, size)
+ while 1:
+ block = fp.read(bs)
+ if not block:
+ break
+ read += len(block)
+ tfp.write(block)
+ blocknum += 1
+ if reporthook:
+ reporthook(blocknum, bs, size)
+ finally:
+ tfp.close()
+ finally:
+ fp.close()
del fp
del tfp
.TH PYTHON "1" "$Date$"
-./" To view this file while editing, run it through groff:
-./" groff -Tascii -man python.man | less
+.\" To view this file while editing, run it through groff:
+.\" groff -Tascii -man python.man | less
.SH NAME
python \- an interpreted, interactive, object-oriented programming language