<div class="collapse navbar-collapse" id="navbar">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
- <a class="nav-link {% if request.path == "/device/vendors" %}active{% end %}" href="/device/vendors">
+ <a class="nav-link {% if request.path.startswith("/vendors") %}active{% end %}" href="/vendors">
{{ _("Vendors") }}
</a>
</li>
</p>
<p class="mb-0">
- <a href="/device/{{ d.subsystem }}/{{ d.vendor }}">{{ d.vendor_string }}</a>
+ <a href="/vendors/{{ d.subsystem }}/{{ d.vendor }}">{{ d.vendor_string }}</a>
‐ {{ d.model_string or "N/A (%s)" % d.model }}
{% if d.driver %}
<dt class="col-sm-9">{{ vendor }}</dt>
<dd class="col-sm-3">
{% for subsystem, vendor_id in sorted(subsystems) %}
- <a href="/device/{{ subsystem }}/{{ vendor_id }}">
- {{ subsystem.upper() }}
- </a>
+ <a href="/vendors/{{ subsystem }}/{{ vendor_id }}">{{ subsystem.upper() }}</a>
{% end %}
</dd>
{% end %}
self.add_handlers(r"fireinfo(\.dev)?\.ipfire\.org", [
(r"/", fireinfo.IndexHandler),
(r"/device/driver/(.*)", fireinfo.DeviceDriverDetail),
- (r"/device/vendors", fireinfo.DeviceVendorsHandler),
- (r"/device/(pci|usb)/([0-9a-f]{4})", fireinfo.DeviceVendorHandler),
+
+ # Vendors
+ (r"/vendors", fireinfo.VendorsHandler),
+ (r"/vendors/(pci|usb)/([0-9a-f]{4})", fireinfo.VendorHandler),
# Show profiles
(r"/profile/random", fireinfo.RandomProfileHandler),
driver_map=self.fireinfo.get_driver_map(driver, when=self.when))
-class DeviceVendorsHandler(BaseHandler):
- def get(self):
- vendors = self.fireinfo.get_vendor_list(when=self.when)
-
- self.render("fireinfo/vendors.html", vendors=vendors)
-
-
class StatsHandler(BaseHandler):
def get(self):
self.render("fireinfo/stats.html")
return self.render("fireinfo/stats-network.html", network=network)
-class DeviceVendorHandler(BaseHandler):
+class VendorsHandler(BaseHandler):
+ def get(self):
+ vendors = self.fireinfo.get_vendor_list(when=self.when)
+
+ self.render("fireinfo/vendors.html", vendors=vendors)
+
+
+class VendorHandler(BaseHandler):
def get(self, subsystem, vendor_id):
- devices = self.fireinfo.get_devices_by_vendor(subsystem, vendor_id,
- when=self.when)
+ devices = self.fireinfo.get_devices_by_vendor(subsystem, vendor_id, when=self.when)
+ if not devices:
+ raise tornado.web.HTTPError(404)
vendor_name = self.fireinfo.get_vendor_string(subsystem, vendor_id)