2010-09-23 16:50:56 -07:00
|
|
|
|
{% extends "base.html" %}
|
2013-11-06 19:10:52 -08:00
|
|
|
|
{% load cycle from future %}
|
2012-03-24 10:37:19 -07:00
|
|
|
|
{% load static from staticfiles %}
|
2011-03-28 16:26:55 -07:00
|
|
|
|
{% load mirror_status %}
|
2013-01-15 22:36:17 -08:00
|
|
|
|
{% load flags %}
|
2013-05-21 18:35:50 -07:00
|
|
|
|
{% load admin_urls %}
|
2010-09-23 16:50:56 -07:00
|
|
|
|
|
|
|
|
|
{% block title %}Arch Linux - {{ mirror.name }} - Mirror Details{% endblock %}
|
|
|
|
|
|
2013-01-15 22:36:17 -08:00
|
|
|
|
{% block head %}<link rel="stylesheet" type="text/css" href="{% static "flags/fam.css" %}" media="screen, projection" />{% endblock %}
|
|
|
|
|
|
2010-09-23 16:50:56 -07:00
|
|
|
|
{% block content %}
|
2012-11-13 07:51:11 -08:00
|
|
|
|
<div class="box">
|
2010-09-23 16:50:56 -07:00
|
|
|
|
<h2>Mirror Details: {{ mirror.name }}</h2>
|
|
|
|
|
|
2013-05-21 18:35:50 -07:00
|
|
|
|
{% if perms.mirrors.change_mirror %}
|
|
|
|
|
<ul class="admin-actions">
|
|
|
|
|
<li><a href="{% url 'admin:mirrors_mirror_change' mirror.pk %}" title="Edit mirror">Edit Mirror</a></li>
|
|
|
|
|
</ul>
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
2012-11-13 07:51:11 -08:00
|
|
|
|
<table class="compact">
|
2010-09-23 16:50:56 -07:00
|
|
|
|
<tr>
|
|
|
|
|
<th>Name:</th>
|
|
|
|
|
<td>{{ mirror.name }}</td>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
2010-09-23 16:50:56 -07:00
|
|
|
|
<th>Tier:</th>
|
|
|
|
|
<td>{{ mirror.get_tier_display }}</td>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>Has ISOs:</th>
|
2011-08-17 14:16:32 -07:00
|
|
|
|
<td>{{ mirror.isos|yesno|capfirst }}</td>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
</tr>
|
|
|
|
|
{% if user.is_authenticated %}
|
|
|
|
|
<tr>
|
|
|
|
|
<th>Public:</th>
|
2011-08-17 14:16:32 -07:00
|
|
|
|
<td>{{ mirror.public|yesno|capfirst }}</td>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>Active:</th>
|
2011-08-17 14:16:32 -07:00
|
|
|
|
<td>{{ mirror.active|yesno|capfirst }}</td>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
</tr>
|
2013-12-15 11:22:41 -08:00
|
|
|
|
<tr>
|
|
|
|
|
<th>Created:</th>
|
|
|
|
|
<td>{{ mirror.created }}</td>
|
|
|
|
|
</tr>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
<tr>
|
|
|
|
|
<th>Rsync IPs:</th>
|
|
|
|
|
<td class="wrap">{{mirror.rsync_ips.all|join:', '}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>Admin Email:</th>
|
2011-03-29 00:15:27 -07:00
|
|
|
|
<td>{% if mirror.admin_email %}<a href="mailto:{{ mirror.admin_email }}">{{ mirror.admin_email }}</a>{% else %}None{% endif %}</td>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
</tr>
|
2013-07-13 07:51:33 -07:00
|
|
|
|
<tr>
|
|
|
|
|
<th>Alternate Email:</th>
|
|
|
|
|
<td>{% if mirror.alternate_email %}<a href="mailto:{{ mirror.alternate_email }}">{{ mirror.alternate_email }}</a>{% else %}None{% endif %}</td>
|
|
|
|
|
</tr>
|
2013-12-14 09:31:40 -08:00
|
|
|
|
<tr>
|
|
|
|
|
<th>Flyspray Issue:</th>
|
|
|
|
|
<td>{% if mirror.bug %}<a href="https://bugs.archlinux.org/task/{{ mirror.bug }}">FS#{{ mirror.bug }}</a>{% endif %}</td>
|
|
|
|
|
</tr>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
<tr>
|
|
|
|
|
<th>Notes:</th>
|
2013-12-18 19:23:47 -08:00
|
|
|
|
<td class="wrap">{{ mirror.notes|linebreaks }}</td>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
2010-09-23 16:50:56 -07:00
|
|
|
|
<th>Upstream:</th>
|
|
|
|
|
<td>{% if mirror.upstream %}
|
|
|
|
|
<a href="{{ mirror.upstream.get_absolute_url }}"
|
|
|
|
|
title="Mirror details for {{ mirror.upstream.name }}">{{ mirror.upstream.name }}</a>
|
|
|
|
|
{% else %}None{% endif %}</td>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
2010-09-23 16:50:56 -07:00
|
|
|
|
<th>Downstream:</th>
|
|
|
|
|
{% with mirror.downstream as ds_mirrors %}
|
2013-12-14 09:38:20 -08:00
|
|
|
|
<td class="wrap">{% if ds_mirrors %}
|
2010-09-23 16:50:56 -07:00
|
|
|
|
{% for ds in ds_mirrors %}
|
|
|
|
|
<a href="{{ ds.get_absolute_url }}"
|
2013-12-14 09:38:20 -08:00
|
|
|
|
title="Mirror details for {{ ds.name }}">{{ ds.name }}</a>{% comment %}
|
|
|
|
|
{% endcomment %}{% if not ds.active %} <span class="testing-dep">(inactive)</span>{% endif %}{% comment %}
|
|
|
|
|
{% endcomment %}{% if not ds.public %} <span class="testing-dep">(private)</span>{% endif %}{% comment %}
|
|
|
|
|
{% endcomment %}{% if not forloop.last %}, {% endif %}{% endfor %}
|
2011-03-28 16:26:55 -07:00
|
|
|
|
{% else %}None{% endif %}</td>
|
2010-09-23 16:50:56 -07:00
|
|
|
|
{% endwith %}
|
|
|
|
|
</tr>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
{% endif %}
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
<h3>Available URLs</h3>
|
|
|
|
|
|
|
|
|
|
<table id="available_urls" class="results">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>Mirror URL</th>
|
2013-01-13 23:00:11 -08:00
|
|
|
|
<th>Protocol</th>
|
|
|
|
|
<th>Country</th>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
<th>IPv4</th>
|
|
|
|
|
<th>IPv6</th>
|
|
|
|
|
<th>Last Sync</th>
|
|
|
|
|
<th>Completion %</th>
|
|
|
|
|
<th>μ Delay (hh:mm)</th>
|
|
|
|
|
<th>μ Duration (secs)</th>
|
|
|
|
|
<th>σ Duration (secs)</th>
|
2013-12-15 11:22:41 -08:00
|
|
|
|
<th>Score</th>
|
|
|
|
|
<th>Details</th>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
{% for m_url in urls %}
|
|
|
|
|
<tr class="{% cycle 'odd' 'even' %}">
|
|
|
|
|
<td>{% if m_url.protocol.is_download %}<a href="{{ m_url.url }}">{{ m_url.url }}</a>{% else %}{{ m_url.url }}{% endif %}</td>
|
2013-01-13 23:00:11 -08:00
|
|
|
|
<td>{{ m_url.protocol }}</td>
|
2013-01-15 22:36:17 -08:00
|
|
|
|
<td class="country">{% country_flag m_url.country %}{{ m_url.country.name }}</td>
|
2011-08-17 14:16:32 -07:00
|
|
|
|
<td>{{ m_url.has_ipv4|yesno|capfirst }}</td>
|
|
|
|
|
<td>{{ m_url.has_ipv6|yesno|capfirst }}</td>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
<td>{{ m_url.last_sync|date:'Y-m-d H:i'|default:'unknown' }}</td>
|
|
|
|
|
<td>{{ m_url.completion_pct|percentage:1 }}</td>
|
|
|
|
|
<td>{{ m_url.delay|duration|default:'unknown' }}</td>
|
2013-11-27 14:49:58 -08:00
|
|
|
|
<td>{{ m_url.duration_avg|floatvalue:2 }}</td>
|
|
|
|
|
<td>{{ m_url.duration_stddev|floatvalue:2 }}</td>
|
|
|
|
|
<td>{{ m_url.score|floatvalue:1|default:'∞' }}</td>
|
2013-12-15 11:22:41 -08:00
|
|
|
|
<td><a href="{{ m_url.id }}/">Details</a></td>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
</tr>
|
|
|
|
|
{% endfor %}
|
|
|
|
|
</tbody>
|
2010-09-23 16:50:56 -07:00
|
|
|
|
</table>
|
2013-05-10 16:10:04 -07:00
|
|
|
|
|
|
|
|
|
<h3>Error Log</h3>
|
|
|
|
|
{% include "mirrors/error_table.html" %}
|
2013-04-14 13:08:25 -07:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="box">
|
|
|
|
|
<h2>Mirror Status Charts</h2>
|
2012-11-10 13:41:09 -08:00
|
|
|
|
|
2013-04-14 13:08:25 -07:00
|
|
|
|
<p>Periodic checks of the mirrors are done from various geographic
|
|
|
|
|
locations, IP addresses, and using IPv4 or IPv6. These results are
|
|
|
|
|
summarized in graphical form below.</p>
|
2012-11-10 13:41:09 -08:00
|
|
|
|
|
2013-04-14 13:08:25 -07:00
|
|
|
|
<div id="charts-container"></div>
|
2010-09-23 16:50:56 -07:00
|
|
|
|
</div>
|
2013-04-20 09:28:12 -07:00
|
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
|
|
{% block script_block %}
|
2012-07-08 21:30:48 -07:00
|
|
|
|
{% load cdn %}{% jquery %}{% jquery_tablesorter %}
|
2013-02-08 19:19:17 -08:00
|
|
|
|
<script type="text/javascript" src="{% static "d3-3.0.6.min.js" %}"></script>
|
2012-03-24 10:37:19 -07:00
|
|
|
|
<script type="text/javascript" src="{% static "archweb.js" %}"></script>
|
2012-11-10 13:41:09 -08:00
|
|
|
|
<script type="text/javascript" src="{% static "mirror_status.js" %}"></script>
|
2011-03-28 16:26:55 -07:00
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
$(document).ready(function() {
|
|
|
|
|
$("#available_urls:has(tbody tr)").tablesorter(
|
2013-01-13 23:00:11 -08:00
|
|
|
|
{widgets: ['zebra'], sortList: [[1,0], [2,0]],
|
|
|
|
|
headers: { 8: { sorter: 'mostlydigit' }, 9: { sorter: 'mostlydigit' }, 10: { sorter: 'mostlydigit' } } });
|
2012-11-13 07:51:11 -08:00
|
|
|
|
});
|
|
|
|
|
$(document).ready(function() {
|
2013-04-14 13:08:25 -07:00
|
|
|
|
draw_graphs("/mirrors/locations/json/", "./json/", "#charts-container");
|
2011-03-28 16:26:55 -07:00
|
|
|
|
});
|
|
|
|
|
</script>
|
2010-09-23 16:50:56 -07:00
|
|
|
|
{% endblock %}
|