From 402487b007e206b013ecbf8b3017dc1231f4bbbc Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 20 Nov 2012 19:33:49 -0600 Subject: Move some logic out of the templates to the Release model This includes magnet URI generation, ISO paths, etc. Signed-off-by: Dan McGee --- releng/models.py | 18 ++++++++++++++++++ templates/public/download.html | 16 ++++++++-------- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/releng/models.py b/releng/models.py index 2f9a078..c591bc0 100644 --- a/releng/models.py +++ b/releng/models.py @@ -1,3 +1,5 @@ +from urllib import urlencode + from django.core.urlresolvers import reverse from django.db import models from django.db.models.signals import pre_save @@ -121,6 +123,22 @@ class Release(models.Model): def __unicode__(self): return self.version + def dir_path(self): + return "iso/%s/" % self.version + + def iso_url(self): + return "iso/%s/archlinux-%s-dual.iso" % (self.version, self.version) + + def magnet_uri(self): + query = { + 'dn': "archlinux-%s-dual.iso" % self.version, + 'tr': ("udp://tracker.archlinux.org:6969", + "http://tracker.archlinux.org:6969/announce"), + } + if self.torrent_infohash: + query['xt'] = "urn:btih:%s" % self.torrent_infohash + return "magnet:?%s" % urlencode(query, doseq=True) + for model in (Iso, Test, Release): pre_save.connect(set_created_field, sender=model, diff --git a/templates/public/download.html b/templates/public/download.html index d0754e5..5733ee9 100644 --- a/templates/public/download.html +++ b/templates/public/download.html @@ -44,9 +44,9 @@ download is finished, so you can seed it back to others. A web-seed capable client is recommended for fastest download speeds.

Netboot

@@ -69,11 +69,11 @@

File integrity checksums for the latest releases can be found below:

@@ -85,8 +85,8 @@ {% else %}
Worldwide
{% endif %} {% endfor %} -- cgit v1.2.3-24-g4f1b