From 4238ef83f0cc8ca382c3464006b17db14b80b2f0 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 1 Mar 2015 21:15:19 +0100 Subject: [PATCH] fireinfo: Add banner for Fountain Networks IPFire Prime Box --- templates/fireinfo/profile-detail.html | 9 ++++++++- webapp/backend/fireinfo.py | 24 +++++++++++++++++++----- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/templates/fireinfo/profile-detail.html b/templates/fireinfo/profile-detail.html index 9c21020..c5ec906 100644 --- a/templates/fireinfo/profile-detail.html +++ b/templates/fireinfo/profile-detail.html @@ -27,7 +27,14 @@ {% if profile.appliance_id %}
- {% if profile.appliance_id.startswith("lightningwirelabs-") %} + {% if profile.appliance_id.startswith("fountainnetworks-") %} + + {{ _("Get yours at") }} + + fountainnetworks.com + + + {% elif profile.appliance_id.startswith("lightningwirelabs-") %} {{ _("Get yours at") }} diff --git a/webapp/backend/fireinfo.py b/webapp/backend/fireinfo.py index b11f659..1bf6747 100644 --- a/webapp/backend/fireinfo.py +++ b/webapp/backend/fireinfo.py @@ -557,11 +557,11 @@ class Profile(Object): devices = property(get_devices, set_devices) - def count_device(self, vendor, model): + def count_device(self, subsystem, vendor, model): counter = 0 for dev in self.devices: - if dev.vendor == vendor and dev.model == model: + if dev.subsystem == subsystem and dev.vendor == vendor and dev.model == model: counter += 1 return counter @@ -628,6 +628,7 @@ class Profile(Object): def appliance_id(self): if not hasattr(self, "_appliance_id"): appliances = ( + ("fountainnetworks-prime", self._appliance_test_fountainnetworks_prime), ("lightningwirelabs-eco", self._appliance_test_lightningwirelabs_eco), ) @@ -643,15 +644,28 @@ class Profile(Object): @property def appliance(self): - if self.appliance_id == "lightningwirelabs-eco": - return "Lightning Wire Labs IPFire Eco Appliance" + if self.appliance_id == "fountainnetworks-prime": + return "Fountain Networks - IPFire Prime Box" + + elif self.appliance_id == "lightningwirelabs-eco": + return "Lightning Wire Labs - IPFire Eco Appliance" + + def _appliance_test_fountainnetworks_prime(self): + if not self.system == ("SECO", "0949"): + return False + + # Must have a wireless device + if self.count_device("usb", "148f", "5572") < 1: + return False + + return True def _appliance_test_lightningwirelabs_eco(self): if not self.system == ("MSI", "MS-9877"): return False # Must have four Intel network adapters - network_adapters_count = self.count_device("8086", "10d3") + network_adapters_count = self.count_device("pci", "8086", "10d3") if not network_adapters_count == 4: return False -- 2.39.2