]> git.ipfire.org Git - oddments/fireinfo.git/commitdiff
Reimplement CPU.count.
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 24 Nov 2010 15:34:41 +0000 (16:34 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 24 Nov 2010 15:34:41 +0000 (16:34 +0100)
fireinfo/cpu.py

index fad78104c2626f750c3c3d3f3991105ccbe0be25..cea1ad9fb2587c368fb408b1143212aab13d242d 100644 (file)
@@ -1,7 +1,11 @@
 #!/usr/bin/python
 
+import os
+
 import _fireinfo
 
+PROC_CPUINFO = "/proc/cpuinfo"
+SYS_CLASS_CPUID = "/sys/class/cpuid/cpu%d"
 
 class CPU(object):
        __info = _fireinfo.cpuinfo()
@@ -12,10 +16,10 @@ class CPU(object):
 
        def read_cpuinfo(self):
                """
-                       Read information from /proc/cpuinfo and store
+                       Read information from PROC_CPUINFO and store
                        it into a dictionary self.__cpuinfo.
                """
-               f = open("/proc/cpuinfo")
+               f = open(PROC_CPUINFO)
                while True:
                        line = f.readline()
 
@@ -82,8 +86,13 @@ class CPU(object):
        
        @property
        def count(self):
-               return int(self.__info["ncpus"])
-       
+               """
+                       Count number of CPUs (cores).
+               """
+               i = 0
+               while (os.path.exists(SYS_CLASS_CPUID % i)):
+                       i += 1
+               return i
 
 
 if __name__ == "__main__":