try:
cls = self.subsystem2class[subsystem]
except KeyError:
- return
+ return ""
- return cls.get_vendor(vendor_id)
+ return cls.get_vendor(vendor_id) or ""
def get_model_string(self, subsystem, vendor_id, model_id):
try:
cls = self.subsystem2class[subsystem]
except KeyError:
- return
+ return ""
- return cls.get_device(vendor_id, model_id)
+ return cls.get_device(vendor_id, model_id) or ""
def get_vendor_list(self, when=None):
res = self.db.query("WITH profiles AS (SELECT fireinfo_profiles_with_data_at(%s) AS id) \
{% extends "../base.html" %}
-{% block title %}{{ _("Driver: %s") % driver }}{% end block %}
+{% block title %}{{ driver }}{% end block %}
-{% block body %}
- <div class="page-header">
- <h2>{{ _("Driver: %s") % driver }}</h2>
- </div>
+{% block container %}
+ <section>
+ <div class="container">
+ <div class="row">
+ <div class="col-12">
+ <h1>{{ driver }}</h1>
+
+ <p>
+ {{ _("All known devices run by %s") % driver }}
+ </p>
+ </div>
+ </div>
+ </div>
+ </section>
- {% module FireinfoDeviceTable(driver_map) %}
+ <div class="container">
+ <div class="row">
+ <div class="col-12">
+ {% module FireinfoDeviceTable(driver_map) %}
+ </div>
+ </div>
+ </div>
{% end block %}
{% for group, devices in groups %}
- <h4>{{ group }}</h4>
+ <div class="mb-5">
+ <h4>{{ group }}</h4>
- {% module FireinfoDeviceTable(devices) %}
+ {% module FireinfoDeviceTable(devices, show_group=False) %}
+ </div>
{% end %}
-<ul class="list-group list-group-flush">
+<ul class="list-group {% if embedded %}list-group-flush{% end %}">
{% for d in sorted(devices) %}
<div class="list-group-item flex-column align-items-start">
<p class="small text-muted mb-0">
- {{ d.cls }}
+ {% if show_group %}{{ d.cls }}{% end %}
{% if d.subsystem == "usb" %}
<span class="fab fa-usb"></span>
</div>
{% if profile.devices %}
- {% module FireinfoDeviceTable([d for d in profile.devices if d.is_showable()]) %}
+ {% module FireinfoDeviceTable([d for d in profile.devices if d.is_showable()], embedded=True) %}
{% end %}
</div>
{% block title %}{{ vendor_name }}{% end block %}
{% block body %}
- <div class="page-header">
- <h2>{{ vendor_name }}</h2>
- </div>
+ <section>
+ <div class="container">
+ <div class="row">
+ <div class="col-12">
+ <h1>{{ vendor_name }}</h1>
- <p>
- This is a list of all devices this database knows about from
- <strong>{{ vendor_name }}</strong>.
- </p>
+ <p>
+ {{ _("All known devices by %s") % vendor_name }}
+ </p>
+ </div>
+ </div>
+ </div>
+ </section>
{% module FireinfoDeviceAndGroupsTable(devices) %}
{% end block %}
{% block title %}{{ _("Vendors") }}{% end block %}
-{% block body %}
- <div class="page-header">
- <h3>{{ _("Vendors") }}</h3>
- </div>
+{% block container %}
+ <section>
+ <div class="container">
+ <div class="row">
+ <div class="col-12">
+ <h1>{{ _("Vendors") }}</h1>
+ </div>
+ </div>
+ </div>
+ </section>
- <dl>
- {% for vendor, subsystems in vendors %}
- <dt>{{ vendor }}</dt>
- <dd>
- <ul class="list-inline">
- {% for subsystem, vendor_id in sorted(subsystems) %}
- <li>
- <img src="{{ static_url("images/icons/bus-%s.png" % subsystem) }}"
- alt="{{ subsystem.upper() }}" />
- <a href="/device/{{ subsystem }}/{{ vendor_id }}">
- {{ subsystem.upper() }}
- </a>
- </li>
+ <div class="container">
+ <div class="row justify-content-center">
+ <div class="col-12 col-md-6">
+ <dl class="row">
+ {% for vendor, subsystems in vendors %}
+ {% if vendor %}
+ <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>
+ {% end %}
+ </dd>
+ {% end %}
{% end %}
- </ul>
- </dd>
- {% end %}
- </dl>
+ </dl>
+ </div>
+ </div>
+ </div>
{% end block %}
class DeviceTableModule(ui_modules.UIModule):
- def render(self, devices):
+ def render(self, devices, show_group=True, embedded=False):
return self.render_string("fireinfo/modules/table-devices.html",
- devices=devices)
+ devices=devices, show_group=show_group, embedded=embedded)
class DeviceAndGroupsTableModule(ui_modules.UIModule):