src/templates/fireinfo/stats-cpus.html \
src/templates/fireinfo/stats-geo.html \
src/templates/fireinfo/stats.html \
- src/templates/fireinfo/stats-languages.html \
src/templates/fireinfo/stats-memory.html \
- src/templates/fireinfo/stats-network.html \
src/templates/fireinfo/stats-oses.html \
src/templates/fireinfo/vendor.html \
src/templates/fireinfo/vendors.html
return ((r.location, r.count) for r in res)
- def get_language_map(self, when=None):
- res = self.db.query("WITH profiles AS (SELECT fireinfo_profiles_with_data_at(%s) AS id) \
- SELECT language, COUNT(language)::float / (SELECT COUNT(*) FROM profiles) AS count FROM profiles \
- LEFT JOIN fireinfo_profiles_languages ON profiles.id = fireinfo_profiles_languages.profile_id \
- WHERE fireinfo_profiles_languages.language IS NOT NULL GROUP BY language ORDER BY count DESC", when)
-
- return ((r.language, r.count) for r in res)
-
@property
def cpu_vendors(self):
res = self.db.query("SELECT DISTINCT vendor FROM fireinfo_processors ORDER BY vendor")
GROUP BY subsystem, model, vendor, driver, deviceclass", when, IGNORED_DEVICES, subsystem, vendor)
return self._process_devices(res)
-
- def get_network_zones_map(self, when=None):
- res = self.db.get("WITH profiles AS (SELECT fireinfo_profiles_with_data_at(%s) AS id) \
- SELECT COUNT(NULLIF(has_red, FALSE))::float / (SELECT COUNT(*) FROM profiles) AS has_red, \
- COUNT(NULLIF(has_green, FALSE))::float / (SELECT COUNT(*) FROM profiles) AS has_green, \
- COUNT(NULLIF(has_orange, FALSE))::float / (SELECT COUNT(*) FROM profiles) AS has_orange, \
- COUNT(NULLIF(has_blue, FALSE))::float / (SELECT COUNT(*) FROM profiles) AS has_blue FROM profiles \
- LEFT JOIN fireinfo_profiles_networks ON profiles.id = fireinfo_profiles_networks.profile_id \
- WHERE fireinfo_profiles_networks.profile_id IS NOT NULL", when)
-
- return res
+++ /dev/null
-{% extends "../base.html" %}
-
-{% block title %}{{ _("Languages") }}{% end block %}
-
-{% block body %}
- <div class="page-header">
- <h1>{{ _("Languages") }}</h1>
- </div>
-
- <dl class="dl-horizontal">
- {% for language, percentage in languages %}
- <dt>{% module LanguageName(language) %}</dt>
- <dd>{% module ProgressBar(percentage) %}</dd>
- {% end %}
- </dl>
-{% end block %}
+++ /dev/null
-{% extends "../base.html" %}
-
-{% block title %}{{ _("Networking") }}{% end block %}
-
-{% block body %}
- <div class="page-header">
- <h1>{{ _("Network configuration") }}</h1>
- </div>
-
- <p>
- This chart shows us which is the most favourite network configuration.
- </p>
-
- <dl class="dl-horizontal">
- <dt>{{ _("RED") }}</dt>
- <dd>{% module ProgressBar(network.has_red) %}</dd>
-
- <dt>{{ _("GREEN") }}</dt>
- <dd>{% module ProgressBar(network.has_green) %}</dd>
-
- <dt>{{ _("ORANGE") }}</dt>
- <dd>{% module ProgressBar(network.has_orange) %}</dd>
-
- <dt>{{ _("BLUE") }}</dt>
- <dd>{% module ProgressBar(network.has_blue) %}</dd>
- </dl>
-{% end block %}
-
<h3>
<a href="/statistics/releases">{{ _("IPFire Releases") }}</a>
</h3>
-
- <h4>
- <a href="/statistics/networking">{{ _("Networking") }}</a>
- </h4>
</div>
</div>
<h4>
<a href="/statistics/geo-locations">{{ _("Geo Locations") }}</a>
</h4>
-
- <h4>
- <a href="/statistics/languages">{{ _("Languages") }}</a>
- </h4>
</div>
</div>
</div>
# Nopaste
"Code" : nopaste.CodeModule,
- # Old modules
- "LanguageName" : ui_modules.LanguageNameModule,
-
+ # Fireinfo
"ProgressBar" : ui_modules.ProgressBarModule,
"FireinfoDeviceTable" : fireinfo.DeviceTableModule,
"FireinfoDeviceAndGroupsTable" : fireinfo.DeviceAndGroupsTableModule,
(r"/statistics/processors", fireinfo.StatsProcessorsHandler),
(r"/statistics/processors/(arm|x86)", fireinfo.StatsProcessorDetailHandler),
(r"/statistics/geo-locations", fireinfo.StatsGeoHandler),
- (r"/statistics/languages", fireinfo.StatsLanguagesHandler),
(r"/statistics/memory", fireinfo.StatsMemoryHandler),
- (r"/statistics/networking", fireinfo.StatsNetworkingHandler),
(r"/statistics/releases", fireinfo.StatsReleasesHandler),
])
geo_locations = self.fireinfo.get_geo_location_map(when=self.when))
-class StatsLanguagesHandler(BaseHandler):
- def get(self):
- return self.render("fireinfo/stats-languages.html",
- languages = self.fireinfo.get_language_map(when=self.when))
-
-
-class StatsNetworkingHandler(BaseHandler):
- def get(self):
- network=self.fireinfo.get_network_zones_map(when=self.when)
-
- return self.render("fireinfo/stats-network.html", network=network)
-
-
class VendorsHandler(BaseHandler):
def get(self):
vendors = self.fireinfo.get_vendor_list(when=self.when)
return self.handler.backend
-class LanguageNameModule(UIModule):
- def render(self, language):
- _ = self.locale.translate
-
- if language == "de":
- return _("German")
- elif language == "en":
- return _("English")
- elif language == "es":
- return _("Spanish")
- elif language == "fr":
- return _("French")
- elif language == "it":
- return _("Italian")
- elif language == "nl":
- return _("Dutch")
- elif language == "pl":
- return _("Polish")
- elif language == "pt":
- return _("Portuguese")
- elif language == "ru":
- return _("Russian")
- elif language == "tr":
- return _("Turkish")
-
- return language
-
-
class MapModule(UIModule):
def render(self, latitude, longitude):
return self.render_string("modules/map.html", latitude=latitude, longitude=longitude)