]> git.ipfire.org Git - ipfire.org.git/blobdiff - src/templates/fireinfo/index.html
fireinfo: Refactor all the things
[ipfire.org.git] / src / templates / fireinfo / index.html
index 72d3ac9a9bbd2f10f17729f2059f7f86081101ea..e283a46e2360ab5edaf2bb74d186868c60bb2bbf 100644 (file)
                <div class="container">
                        <div class="columns is-vcentered">
                                {% if latest_release %}
+                                       {% set usage = latest_release.get_usage(when=when) %}
+
                                        <div class="column is-half is-centered">
                                                <div>
                                                        <h1 class="title is-1 has-text-primary">
-                                                               {{ "%.2f%%" % (latest_release.penetration * 100) }}
+                                                               {{ "%.2f%%" % (usage * 100) }}
                                                        </h1>
 
                                                        <h5 class="title is-5">
                <div class="container">
                        <h4 class="title is-4">{{ _("Locations") }}</h4>
 
-                       {% for country_code, percentage in locations %}
+                       {% for cc in sorted(locations, key=lambda cc: locations[cc], reverse=True) %}
                                <div class="columns is-mobile">
-                                       {% if percentage >= 0.01 %}
+                                       {% if locations[cc] >= 0.01 %}
                                                <div class="column is-one-fifth">
-                                                       <span class="flag-icon flag-icon-{{ country_code.lower() }}"></span>
-                                                       <span class="">{{ format_country_name(country_code) }}</span>
+                                                       <span class="flag-icon flag-icon-{{ cc.lower() }}"></span>
+                                                       <span class="">{{ format_country_name(cc) }}</span>
                                                </div>
 
                                                <div class="column is-7">
-                                                       {% module ProgressBar(percentage, "success") %}
+                                                       {% module ProgressBar(locations[cc], "success") %}
                                                </div>
                                        {% end %}
                                </div>
                        {% end %}
 
-                       <p>
-                               <span class="has-text-weight-bold">IPFire<span class="has-text-primary">_</span></span>
-                               {{_("is also running in these countries: %s") % locale.list([(format_country_name(c) or c)  for c, p in locations if p < 0.01]) }}
-                       </p>
+                       {% set other_countries = [cc for cc in locations if locations[cc] < 0.01] %}
+
+                       {% if other_countries %}
+                               <p>
+                                       <span class="has-text-weight-bold">IPFire<span class="has-text-primary">_</span></span>
+                                       {{_("is also running in these countries: %s") % locale.list([(format_country_name(cc) or cc) for cc in other_countries]) }}
+                               </p>
+                       {% end %}
                </div>
        </section>
 
                                        <div class="block">
                                                <h4 class="title is-4">{{ _("CPU Vendors") }}</h4>
 
-                                               {% for name, percentage in cpu_vendors %}
+                                               {% for vendor in sorted(cpu_vendors, key=lambda v: cpu_vendors[v], reverse=True) %}
                                                        <div class="columns">
-                                                               <div class="column is-1">{{ name }}</div>
+                                                               <div class="column is-1">{{ vendor }}</div>
 
                                                                <div class="column">
-                                                                       {% module ProgressBar(percentage, "success") %}
+                                                                       {% module ProgressBar(cpu_vendors[vendor], "success") %}
                                                                </div>
                                                        </div>
                                                {% end %}
                                        <div class="block">
                                                <h4 class="title is-4">{{ _("Architectures") }}</h4>
 
-                                               {% for name, percentage in arches %}
+                                               {% for arch in sorted(arches, key=lambda a: arches[a], reverse=True) %}
                                                        <div class="columns">
-                                                               <div class="column is-1">{{ name }}</div>
+                                                               <div class="column is-1">{{ arch }}</div>
 
                                                                <div class="column">
-                                                                       {% module ProgressBar(percentage, "success") %}
+                                                                       {% module ProgressBar(arches[arch], "success") %}
                                                                </div>
                                                        </div>
                                                {% end %}
                                <div class="column is-half">
                                        <h4 class="title is-4">{{ _("Top Hypervisors") }}</h4>
 
-                                       {% for name, percentage in hypervisors %}
+                                       {% for vendor in sorted(hypervisors, key=lambda v: hypervisors[v], reverse=True) %}
                                                <div class="columns">
-                                                       {% if percentage >= 0.01 %}
+                                                       {% if hypervisors[vendor] >= 0.01 %}
                                                                <div class="column is-1">
-                                                                       {% if name == "unknown" %}
+                                                                       {% if vendor == "unknown" %}
                                                                                <span class="text-muted">{{ _("Unknown") }}</span>
-                                                                       {% elif name == "VMWare" %}
+                                                                       {% elif vendor == "VMWare" %}
                                                                                VMware
                                                                        {% else %}
-                                                                               {{ name }}
+                                                                               {{ vendor }}
                                                                        {% end %}
                                                                </div>
 
                                                                <div class="column is-8">
-                                                                       {% module ProgressBar(percentage, "success") %}
+                                                                       {% module ProgressBar(hypervisors[vendor], "success") %}
                                                                </div>
                                                        {% end %}
                                                </div>