#import httplib
#import logging
#import markdown2
+import operator
import os
#import random
#import re
import backend
+from handlers_accounts import *
from handlers_admin import *
from handlers_base import *
from handlers_boot import *
from handlers_download import *
+from handlers_fireinfo import *
from handlers_iuse import *
from handlers_mirrors import *
from handlers_news import *
from handlers_nopaste import *
from handlers_planet import *
from handlers_rss import *
-from handlers_stasy import *
+from handlers_talk import *
from handlers_tracker import *
from handlers_wishlist import *
This handler displays the welcome page.
"""
def get(self):
- # Get a list of the most recent news items and put them on the page.
- latest_news = self.news.get_latest(limit=3, locale=self.locale)
-
- # Get a list of the most recent planet posts.
- planet_posts = self.planet.get_entries(limit=3)
-
# Get the latest release.
latest_release = self.releases.get_latest()
- latest_release_unstable = self.releases.get_latest_unstable()
+
+ # Get a list of the most recent news items and put them on the page.
+ latest_news = self.get_latest_news()
# Interesting items from the wishlist.
- wishlist_items = self.wishlist.get_hot_wishes()
+ hottest_wish = self.wishlist.get_hottest_wish()
return self.render("index.html", latest_news=latest_news,
- planet_posts=planet_posts, latest_release=latest_release,
- latest_release_unstable=latest_release_unstable,
- wishlist_items=wishlist_items)
+ latest_release=latest_release, hottest_wish=hottest_wish)
+
+ def get_latest_news(self, count=5):
+ latest_news = []
+
+ for news in self.news.get_latest(limit=count):
+ latest_news.append(("news", news))
+
+ for post in self.planet.get_entries(limit=count):
+ latest_news.append(("planet", post))
+
+ latest_news.sort(key=operator.itemgetter(1), reverse=True)
+
+ return latest_news[:count]
class StaticHandler(BaseHandler):
if peer:
peer["country_name"] = self.geoip.get_country_name(peer.country)
- self.render("geoip/index.html", addr=addr, peer=peer)
+ mirrors = self.mirrors.get_for_location(peer)
+
+ self.render("geoip/index.html", addr=addr, peer=peer, mirrors=mirrors)
+
+
+class DonateHandler(BaseHandler):
+ def get(self):
+ reason_for_transfer = self.get_argument("reason_for_transfer", None)
+
+ # Interesting items from the wishlist.
+ wishlist_items = self.wishlist.get_hot_wishes()
+
+ self.render("donate.html", wishlist_items=wishlist_items,
+ reason_for_transfer=reason_for_transfer)
+
+
+class DownloadHandler(BaseHandler):
+ def get(self):
+ release = self.releases.get_latest()
+
+ self.render("download.html", release=release)