diff --git a/euscanwww/djeuscan/templates/euscan/_package_details.html b/euscanwww/djeuscan/templates/euscan/_package_details.html
index 4345b32..8953345 100644
--- a/euscanwww/djeuscan/templates/euscan/_package_details.html
+++ b/euscanwww/djeuscan/templates/euscan/_package_details.html
@@ -93,7 +93,7 @@
{% for url in version.urls_list %}
{{ url }}
{% endfor %}
- {% if confidence < 100 %}({{ version.confidence }}%){% endif %}
+ ({% if version.handler != "generic" %}{{ version.handler }} - {% endif %}{{ version.confidence }}%)
{% endfor %}
diff --git a/euscanwww/djeuscan/templates/euscan/statistics.html b/euscanwww/djeuscan/templates/euscan/statistics.html
index f3866d9..8e03c3e 100644
--- a/euscanwww/djeuscan/templates/euscan/statistics.html
+++ b/euscanwww/djeuscan/templates/euscan/statistics.html
@@ -19,7 +19,11 @@
{% for handler in handlers %}
- {{ handler.handler }} |
+
+
+ {{ handler.handler }}
+
+ |
{{ handler.n }} |
{{ handler.avg_conf }} |
diff --git a/euscanwww/djeuscan/templates/euscan/statistics_handler.html b/euscanwww/djeuscan/templates/euscan/statistics_handler.html
new file mode 100644
index 0000000..ff073e3
--- /dev/null
+++ b/euscanwww/djeuscan/templates/euscan/statistics_handler.html
@@ -0,0 +1,16 @@
+{% extends "euscan/_datatable.html" %}
+
+{% load url from future %}
+{% load djeuscan_helpers %}
+
+{% block title %}
+{{ block.super }} - Handler: {{ handler }}
+{% endblock %}
+
+{% block content %}
+
+ Handler: {{ handler }}
+
+{% packages packages %}
+
+{% endblock %}
diff --git a/euscanwww/djeuscan/urls.py b/euscanwww/djeuscan/urls.py
index ece411c..83a07de 100644
--- a/euscanwww/djeuscan/urls.py
+++ b/euscanwww/djeuscan/urls.py
@@ -82,6 +82,8 @@ urlpatterns = patterns('djeuscan.views',
url(r'^about/feeds$', 'feeds', name="feeds"),
url(r'^about/config$', 'config', name="config"),
url(r'^statistics/$', 'statistics', name="statistics"),
+ url(r'^statistics/handlers/(?P\w+)/$', 'statistics_handler',
+ name="statistics_handler"),
url(r'^statistics/charts/(?P[\w\-]+).png$', 'chart', name="chart"),
url(r'^world/$', 'world', name="world"),
url(r'^world/scan/$', 'world_scan', name="world_scan"),
diff --git a/euscanwww/djeuscan/views.py b/euscanwww/djeuscan/views.py
index 39d2fae..8456640 100644
--- a/euscanwww/djeuscan/views.py
+++ b/euscanwww/djeuscan/views.py
@@ -387,6 +387,18 @@ def statistics(request):
return {"handlers": handlers}
+@render_to("euscan/statistics_handler.html")
+def statistics_handler(request, handler):
+ package_ids = [
+ elem["package"] for elem in
+ Version.objects.filter(handler=handler)
+ .values("package")
+ .distinct()
+ ]
+ packages = Package.objects.filter(pk__in=package_ids)
+ return {"handler": handler, "packages": packages}
+
+
def chart(request, **kwargs):
from django.views.static import serve