From: Michael Tremer Date: Fri, 27 Nov 2020 19:36:00 +0000 (+0000) Subject: mirrors: Move into download section X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=278b3118a86e11086a315daa479b22a8f22c5851;p=ipfire.org.git mirrors: Move into download section Signed-off-by: Michael Tremer --- diff --git a/Makefile.am b/Makefile.am index 39c95346..e956c7d0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -90,7 +90,6 @@ web_PYTHON = \ src/web/handlers.py \ src/web/iuse.py \ src/web/location.py \ - src/web/mirrors.py \ src/web/nopaste.py \ src/web/people.py \ src/web/ui_modules.py \ @@ -193,6 +192,8 @@ templates_donate_messages_DATA = \ templates_donate_messagesdir = $(templates_donatedir)/messages templates_download_DATA = \ + src/templates/download/mirror.html \ + src/templates/download/mirrors.html \ src/templates/download/release.html \ src/templates/download/thank-you.html @@ -234,12 +235,6 @@ templates_messages_DATA = \ templates_messagesdir = $(templatesdir)/messages -templates_mirrors_DATA = \ - src/templates/mirrors/index.html \ - src/templates/mirrors/mirror.html - -templates_mirrorsdir = $(templatesdir)/mirrors - templates_modules_DATA = \ src/templates/modules/christmas-banner.html \ src/templates/modules/map.html \ diff --git a/src/static/js/maps.js b/src/static/js/maps.js index 94b8ff32..82a25200 100644 --- a/src/static/js/maps.js +++ b/src/static/js/maps.js @@ -3,7 +3,7 @@ $(function() { var map = L.map(this); // Add the map provider - var layer = L.tileLayer("https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png", { + var layer = L.tileLayer("https://a.tile.openstreetmap.org/{z}/{x}/{y}.png", { attribution: "© OpenStreetMap contributors" }).addTo(map); diff --git a/src/templates/base.html b/src/templates/base.html index 466688f5..d49e6c1c 100644 --- a/src/templates/base.html +++ b/src/templates/base.html @@ -35,8 +35,6 @@ {{ _("Fireinfo") }} {% elif hostname == "location.ipfire.org" %} {{ _("Location") }} - {% elif hostname == "mirrors.ipfire.org" %} - {{ _("Mirrors") }} {% elif hostname == "wiki.ipfire.org" %} {{ _("Wiki") }} {% end %} diff --git a/src/templates/download/mirror.html b/src/templates/download/mirror.html new file mode 100644 index 00000000..4912277f --- /dev/null +++ b/src/templates/download/mirror.html @@ -0,0 +1,76 @@ +{% extends "../base.html" %} + +{% block title %}{{ _("Mirror %s") % mirror }}{% end block %} + +{% block container %} +
+
+

{{ mirror }}

+ +

+ {% if mirror.owner %} + {{ _("by %s") % mirror.owner }} + {% end %} + + {% if mirror.country %} + {{ _("in %s") % mirror.country.name }} + {% end %} +

+
+
+ +
+
+
+
+
+
+ {% module Map(mirror.country.name) %} +
+ + {% if mirror.asn %} +
+
+
{{ _("Autonomous System") }}
+
{{ mirror.address.autonomous_system or "AS%s" % mirror.asn }}
+
+
+ {% end %} + +
    + {% if mirror.state == "UP" %} +
  • +

    {{ _("The mirror is up") }}

    + + + {{ _("Last updated %s") % locale.format_date(mirror.last_update) }} + +
  • + {% elif mirror.state == "DOWN" %} +
  • +

    {{ _("The mirror is down") }}

    + + + {{ _("Last updated %s") % locale.format_date(mirror.last_update) }} + +
  • + {% elif mirror.state == "OUTOFSYNC" %} +
  • +

    {{ _("The mirror is out of sync") }}

    + + + {{ _("Last updated %s") % locale.format_date(mirror.last_update) }} + +
  • + {% end %} +
+
+ + + {{ _("Browse Mirror") }} + +
+
+
+
+{% end block %} diff --git a/src/templates/download/mirrors.html b/src/templates/download/mirrors.html new file mode 100644 index 00000000..ba4cdf0b --- /dev/null +++ b/src/templates/download/mirrors.html @@ -0,0 +1,55 @@ +{% extends "../base.html" %} + +{% block title %}{{ _("Mirrors") }}{% end block %} + +{% block container %} + {% set total = sum((len(m) for c, m in mirrors.items())) %} + +
+
+

{{ _("Mirrors") }}

+
+
+ +
+
+

+ {{ _("We are currently running %s mirror servers worldwide") % total }} +

+
+ +
+
+
+ {% for country in sorted(mirrors, key=lambda c: c.name) %} + +
+
+

{{ country.name }}

+ + {{ _("One Mirror", "%(num)s Mirrors", len(mirrors[country])) % { "num" : len(mirrors[country]) } }} + +
+ +

+
+ +
+ {% for m in mirrors[country] %} + +
{{ m.hostname }}
+ + {% if m.owner %} +

{{ m.owner }}

+ {% end %} +
+ {% end %} +
+ {% end %} +
+
+
+
+{% end block %} diff --git a/src/templates/mirrors/index.html b/src/templates/mirrors/index.html deleted file mode 100644 index ad358c70..00000000 --- a/src/templates/mirrors/index.html +++ /dev/null @@ -1,45 +0,0 @@ -{% extends "../base.html" %} - -{% block title %}{{ _("Mirrors") }}{% end block %} - -{% block content %} - {% set total = sum((len(m) for c, m in mirrors.items())) %} - -

- {{ _("We are currently running %s mirror servers") % total }} -

- - {% set countries = sorted(mirrors, key=lambda c: c.name) %} - -
-
- {% for country in countries %} - -
-
-

{{ country.name }}

- - {{ _("One Mirror", "%(num)s Mirrors", len(mirrors[country])) % { "num" : len(mirrors[country]) } }} - -
- -

-
- -
- {% for m in mirrors[country] %} - -
{{ m.hostname }}
- - {% if m.owner %} -

{{ m.owner }}

- {% end %} -
- {% end %} -
- {% end %} -
-
-{% end block %} diff --git a/src/templates/mirrors/mirror.html b/src/templates/mirrors/mirror.html deleted file mode 100644 index 71c31d83..00000000 --- a/src/templates/mirrors/mirror.html +++ /dev/null @@ -1,69 +0,0 @@ -{% extends "../base.html" %} - -{% block title %}{{ _("Mirror %s") % mirror }}{% end block %} - -{% block content %} -
-
-

{{ mirror }}

- - {% if mirror.owner %} -

{{ _("by %s") % mirror.owner }}

- {% end %} -
-
- -
-
-
- {#
- {% module Map() %} -
#} - -
-
- {% if mirror.asn %} -
{{ _("Autonomous System") }}
-
{{ mirror.address.autonomous_system or "AS%s" % mirror.asn }}
- {% end %} - -
{{ _("Country") }}
-
{{ mirror.country.name }}
-
-
- -
    - {% if mirror.state == "UP" %} -
  • -

    {{ _("The mirror is up") }}

    - - - {{ _("Last updated %s") % locale.format_date(mirror.last_update) }} - -
  • - {% elif mirror.state == "DOWN" %} -
  • -

    {{ _("The mirror is down") }}

    - - - {{ _("Last updated %s") % locale.format_date(mirror.last_update) }} - -
  • - {% elif mirror.state == "OUTOFSYNC" %} -
  • -

    {{ _("The mirror is out of sync") }}

    - - - {{ _("Last updated %s") % locale.format_date(mirror.last_update) }} - -
  • - {% end %} -
-
- - - {{ _("Browse Mirror") }} - -
-
-{% end block %} diff --git a/src/web/__init__.py b/src/web/__init__.py index 651d4de7..32bade61 100644 --- a/src/web/__init__.py +++ b/src/web/__init__.py @@ -22,7 +22,6 @@ from . import download from . import fireinfo from . import iuse from . import location -from . import mirrors from . import nopaste from . import people from . import ui_modules @@ -133,6 +132,8 @@ class Application(tornado.web.Application): # Download sites (r"/downloads", tornado.web.RedirectHandler, { "url" : "/download" }), (r"/download", download.IndexHandler), + (r"/download/mirrors", download.MirrorsHandler), + (r"/download/mirrors/([0-9a-z\-\.]+)", download.MirrorHandler), (r"/download/thank-you", download.ThankYouHandler), (r"/download/([0-9a-z\-\.]+)", download.ReleaseHandler), @@ -180,9 +181,9 @@ class Application(tornado.web.Application): ]) # mirrors.ipfire.org - self.add_handlers(r"^mirrors\.ipfire\.rocks", [ - (r"/", mirrors.IndexHandler), - (r"/mirrors/(.*)", mirrors.MirrorHandler), + self.add_handlers(r"^mirrors\.ipfire\.org", [ + (r"/", tornado.web.RedirectHandler, { "url" : "https://www.ipfire.org/download/mirrors" }), + (r"/mirrors/(.*)", tornado.web.RedirectHandler, { "url" : "https://www.ipfire.org/download/mirrors/{0}" }), ]) # planet.ipfire.org diff --git a/src/web/download.py b/src/web/download.py index 3f58579a..26a1a968 100644 --- a/src/web/download.py +++ b/src/web/download.py @@ -18,6 +18,24 @@ class IndexHandler(base.BaseHandler): self.redirect("/download/%s" % release.slug) +class MirrorsHandler(base.BaseHandler): + def get(self): + mirrors = self.backend.mirrors.get_by_countries() + if not mirrors: + raise tornado.web.HTTPError(404) + + self.render("download/mirrors.html", mirrors=mirrors) + + +class MirrorHandler(base.BaseHandler): + def get(self, hostname): + mirror = self.backend.mirrors.get_by_hostname(hostname) + if not mirror: + raise tornado.web.HTTPError(404, "Could not find %s" % hostname) + + self.render("download/mirror.html", mirror=mirror) + + class ReleaseHandler(base.BaseHandler): def get(self, slug): release = self.backend.releases.get_by_sname(slug) diff --git a/src/web/mirrors.py b/src/web/mirrors.py deleted file mode 100644 index 6c7c273e..00000000 --- a/src/web/mirrors.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/python - -import tornado.web - -from . import base - -class IndexHandler(base.BaseHandler): - def get(self): - mirrors = self.backend.mirrors.get_by_countries() - if not mirrors: - raise tornado.web.HTTPError(404) - - self.render("mirrors/index.html", mirrors=mirrors) - - -class MirrorHandler(base.BaseHandler): - def get(self, hostname): - mirror = self.mirrors.get_by_hostname(hostname) - if not mirror: - raise tornado.web.HTTPError(404, "Could not find %s" % hostname) - - self.render("mirrors/mirror.html", mirror=mirror)