]> git.ipfire.org Git - oddments/fireinfo.git/commitdiff
Revert vendor/model for ARM to old behaviour
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 15 Dec 2014 21:48:26 +0000 (22:48 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 15 Dec 2014 21:48:26 +0000 (22:48 +0100)
src/fireinfo/system.py

index 195832e9f7ebd1775b342c927412c326b28a3856..ce33837af7477a2c755fcf81a42527af9a2dd244 100644 (file)
@@ -304,6 +304,27 @@ class System(object):
                """
                return read_from_file("/sys/class/dmi/id/bios_vendor")
 
+       def vendor_model_tuple(self):
+               try:
+                       s = self.__cpuinfo["Hardware"]
+               except KeyError:
+                       return (None, None)
+
+               if s.startswith("ARM-Versatile"):
+                       return ("ARM", s)
+
+               try:
+                       v, m = s.split(" ", 1)
+               except ValueError:
+                       if s.startswith("BCM"):
+                               v = "Broadcom"
+                               m = s
+                       else:
+                               v = None
+                               m = s
+
+               return v, m
+
        @property
        def vendor(self):
                """
@@ -316,10 +337,10 @@ class System(object):
                                break
 
                if ret is None:
-                       try:
-                               return self.__cpuinfo["Hardware"]
-                       except KeyError:
-                               pass
+                       if os.path.exists("/proc/device-tree"):
+                               ret = self.__cpuinfo.get("Hardware", None)
+                       else:
+                               ret, m = self.vendor_model_tuple()
 
                return ret
 
@@ -340,6 +361,10 @@ class System(object):
                        # replace the NULL byte with which the DT string ends
                        ret = ret.replace(u"\u0000", "")
 
+               # Fall back to read /proc/cpuinfo
+               if not ret:
+                       v, ret = self.vendor_model_tuple()
+
                return ret
 
        @property