summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Cournapeau <cournape@gmail.com>2009-12-03 16:01:47 +0000
committerDavid Cournapeau <cournape@gmail.com>2009-12-03 16:01:47 +0000
commit6ab5f37d9358712a4da215e0adccecf0ab419651 (patch)
tree192cbf460eb54a6125122af11506fe8f30366cc5
parentb072669a495a6e50acb5ab0a25301b721c3875d9 (diff)
downloadnumpy-6ab5f37d9358712a4da215e0adccecf0ab419651.tar.gz
Py3k: make cpuinfo py3k-importable.
-rw-r--r--numpy/distutils/cpuinfo.py51
1 files changed, 29 insertions, 22 deletions
diff --git a/numpy/distutils/cpuinfo.py b/numpy/distutils/cpuinfo.py
index c35338292..a9b2af108 100644
--- a/numpy/distutils/cpuinfo.py
+++ b/numpy/distutils/cpuinfo.py
@@ -16,14 +16,20 @@ __all__ = ['cpu']
import sys, re, types
import os
-import commands
+if sys.version_info[0] < 3:
+ from commands import getstatusoutput
+else:
+ from subprocess import getstatusoutput
import warnings
import platform
+from numpy.distutils.compat import get_exception
+
def getoutput(cmd, successful_status=(0,), stacklevel=1):
try:
- status, output = commands.getstatusoutput(cmd)
- except EnvironmentError, e:
+ status, output = getstatusoutput(cmd)
+ except EnvironmentError:
+ e = get_exception()
warnings.warn(str(e), UserWarning, stacklevel=stacklevel)
return False, output
if os.WIFEXITED(status) and os.WEXITSTATUS(status) in successful_status:
@@ -76,7 +82,7 @@ class CPUInfoBase(object):
return lambda func=self._try_call,attr=attr : func(attr)
else:
return lambda : None
- raise AttributeError,name
+ raise AttributeError(name)
def _getNCPUs(self):
return 1
@@ -105,7 +111,8 @@ class LinuxCPUInfo(CPUInfoBase):
info[0]['uname_m'] = output.strip()
try:
fo = open('/proc/cpuinfo')
- except EnvironmentError, e:
+ except EnvironmentError:
+ e = get_exception()
warnings.warn(str(e), UserWarning)
else:
for line in fo:
@@ -509,7 +516,7 @@ class Win32CPUInfo(CPUInfoBase):
info[-1]["Model"]=int(srch.group("MDL"))
info[-1]["Stepping"]=int(srch.group("STP"))
except:
- print sys.exc_value,'(ignoring)'
+ print(sys.exc_value,'(ignoring)')
self.__class__.info = info
def _not_impl(self): pass
@@ -660,19 +667,19 @@ else:
cpu = cpuinfo()
-if __name__ == "__main__":
-
- cpu.is_blaa()
- cpu.is_Intel()
- cpu.is_Alpha()
-
- print 'CPU information:',
- for name in dir(cpuinfo):
- if name[0]=='_' and name[1]!='_':
- r = getattr(cpu,name[1:])()
- if r:
- if r!=1:
- print '%s=%s' %(name[1:],r),
- else:
- print name[1:],
- print
+#if __name__ == "__main__":
+#
+# cpu.is_blaa()
+# cpu.is_Intel()
+# cpu.is_Alpha()
+#
+# print 'CPU information:',
+# for name in dir(cpuinfo):
+# if name[0]=='_' and name[1]!='_':
+# r = getattr(cpu,name[1:])()
+# if r:
+# if r!=1:
+# print '%s=%s' %(name[1:],r),
+# else:
+# print name[1:],
+# print