]>
git.ipfire.org Git - people/shoehn/ipfire.org.git/blob - www/webapp/handlers_download.py
7 from handlers_base
import *
9 class DownloadsIndexHandler(BaseHandler
):
11 self
.render("downloads-index.html", release
=self
.releases
.get_latest())
14 class DownloadsReleaseHandler(BaseHandler
):
15 def get(self
, release
):
16 release
= self
.releases
.get_by_id(release
)
18 raise tornado
.web
.HTTPError(404)
20 self
.render("downloads-item.html", item
=release
)
23 class DownloadsLatestHandler(BaseHandler
):
25 release
= self
.releases
.get_latest()
27 raise tornado
.web
.HTTPError(404)
29 self
.render("downloads-item.html", item
=release
)
32 class DownloadsOlderHandler(BaseHandler
):
34 releases
= self
.releases
.get_stable()
36 # Drop the latest release
38 releases
= releases
[1:]
40 self
.render("downloads-older.html", releases
=releases
)
43 class DownloadsDevelopmentHandler(BaseHandler
):
45 releases
= self
.releases
.get_unstable()
47 self
.render("downloads-development.html", releases
=releases
)
50 class DownloadHandler(BaseHandler
):
52 self
.render("downloads.html", release
=self
.releases
.get_latest())
55 class DownloadAllHandler(BaseHandler
):
57 self
.render("downloads-all.html",
58 releases
=self
.releases
.get_stable())
61 class DownloadDevelopmentHandler(BaseHandler
):
63 self
.render("downloads-development.html",
64 releases
=self
.releases
.get_unstable())
67 class DownloadFileHandler(BaseHandler
):
68 def get(self
, filename
):
69 mirrors
= self
.mirrors
.get_with_file(filename
)
72 # XXX need better metric here
73 mirror
= random
.choice(mirrors
)
75 self
.redirect(mirror
.url
+ filename
)