summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2010-09-12 10:14:34 -0500
committerDan McGee <dan@archlinux.org>2010-09-21 09:10:33 -0500
commit40ac4818aa7812a5399a0d4c176137984d5cfd30 (patch)
treec02e2a6865cf3067703c9b27150bc306367fc546 /templates
parent3d8bc07622561028dbca9c709470accf79c95bd6 (diff)
downloadarchweb-40ac4818aa7812a5399a0d4c176137984d5cfd30.tar.gz
archweb-40ac4818aa7812a5399a0d4c176137984d5cfd30.zip
Add mirror status view
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'templates')
-rw-r--r--templates/mirrors/status.html53
-rw-r--r--templates/mirrors/status_table.html29
2 files changed, 82 insertions, 0 deletions
diff --git a/templates/mirrors/status.html b/templates/mirrors/status.html
new file mode 100644
index 00000000..8dd6fa11
--- /dev/null
+++ b/templates/mirrors/status.html
@@ -0,0 +1,53 @@
+{% extends "base.html" %}
+
+{% block title %}Arch Linux - Mirror Status{% endblock %}
+
+{% block content %}
+<div id="mirrorstatus" class="box">
+ <h2>Mirror Status</h2>
+
+ <h3>Out of Sync Mirrors</h3>
+ {% with bad_urls as urls %}
+ {% include "mirrors/status_table.html" %}
+ {% endwith %}
+
+ <h3>Successfully Syncing Mirrors</h3>
+ {% with good_urls as urls %}
+ {% include "mirrors/status_table.html" %}
+ {% endwith %}
+
+ <h3>Mirror Syncing Error Log</h3>
+ <table class="results">
+ <thead>
+ <tr>
+ <th>Mirror URL</th>
+ <th>Protocol</th>
+ <th>Country</th>
+ <th>Error Message</th>
+ <th>Last Occurred</th>
+ <th>Occurrences (last 24 hours)</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for log in error_logs %}
+ <tr class="{% cycle 'odd' 'even' %}">
+ <td>{{ log.url__url }}</td>
+ <td>{{ log.url__protocol__protocol }}</td>
+ <td>{{ log.url__mirror__country }}</td>
+ <td>{{ log.error }}</td>
+ <td>{{ log.check_time__max|date:'Y-m-d H:i' }}</td>
+ <td>{{ log.error__count }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+
+</div>
+{% load cdn %}{% jquery %}
+<script type="text/javascript" src="/media/jquery.tablesorter.min.js"></script>
+<script type="text/javascript">
+$(document).ready(function() {
+ $(".results").tablesorter({widgets: ['zebra']});
+});
+</script>
+{% endblock %}
diff --git a/templates/mirrors/status_table.html b/templates/mirrors/status_table.html
new file mode 100644
index 00000000..d7f5b0ec
--- /dev/null
+++ b/templates/mirrors/status_table.html
@@ -0,0 +1,29 @@
+{% load mirror_status %}
+<table class="results">
+ <thead>
+ <tr>
+ <th>Mirror URL</th>
+ <th>Protocol</th>
+ <th>Country</th>
+ <th>Last Sync</th>
+ <th>Delay (hh:mm)</th>
+ <th>μ Duration (secs)</th>
+ <th>σ Duration (secs)</th>
+ <th>Mirror Score</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for m_url in urls %}
+ <tr class="{% cycle 'odd' 'even' %}">
+ <td>{{ m_url.url }}</td>
+ <td>{{ m_url.protocol }}</td>
+ <td>{{ m_url.mirror.country }}</td>
+ <td>{{ m_url.last_sync|date:'Y-m-d H:i'|default:'unknown' }}</td>
+ <td>{{ m_url.delay|duration|default:'unknown' }}</td>
+ <td>{{ m_url.duration_avg|floatformat:2|default:'unknown' }}</td>
+ <td>{{ m_url.duration_stddev|floatformat:2|default:'unknown' }}</td>
+ <td>{{ m_url.score|floatformat:1|default:'unknown' }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+</table>