]> git.ipfire.org Git - people/shoehn/ipfire.org.git/blame - www/webapp/handlers_download.py
Import of new website.
[people/shoehn/ipfire.org.git] / www / webapp / handlers_download.py
CommitLineData
940227cb
MT
1#!/usr/bin/python
2
3import random
4
5import tornado.web
6
7from handlers_base import *
8
9class DownloadsIndexHandler(BaseHandler):
10 def get(self):
11 self.render("downloads-index.html", release=self.releases.get_latest())
12
13
14class DownloadsReleaseHandler(BaseHandler):
15 def get(self, release):
16 release = self.releases.get_by_id(release)
17 if not release:
18 raise tornado.web.HTTPError(404)
19
20 self.render("downloads-item.html", item=release)
21
22
23class DownloadsLatestHandler(BaseHandler):
24 def get(self):
25 release = self.releases.get_latest()
26 if not release:
27 raise tornado.web.HTTPError(404)
28
29 self.render("downloads-item.html", item=release)
30
31
32class DownloadsOlderHandler(BaseHandler):
33 def get(self):
34 releases = self.releases.get_stable()
35
36 # Drop the latest release
37 if releases:
38 releases = releases[1:]
39
40 self.render("downloads-older.html", releases=releases)
41
42
43class DownloadsDevelopmentHandler(BaseHandler):
44 def get(self):
45 releases = self.releases.get_unstable()
46
47 self.render("downloads-development.html", releases=releases)
48
49
50class DownloadHandler(BaseHandler):
51 def get(self):
52 self.render("downloads.html", release=self.releases.get_latest())
53
54
55class DownloadAllHandler(BaseHandler):
56 def get(self):
57 self.render("downloads-all.html",
58 releases=self.releases.get_stable())
59
60
61class DownloadDevelopmentHandler(BaseHandler):
62 def get(self):
63 self.render("downloads-development.html",
64 releases=self.releases.get_unstable())
65
66
67class DownloadFileHandler(BaseHandler):
68 def get(self, filename):
69 mirrors = self.mirrors.get_with_file(filename)
70
71 # Choose a random one
72 # XXX need better metric here
73 mirror = random.choice(mirrors)
74
75 self.redirect(mirror.url + filename)