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