]> git.ipfire.org Git - ipfire.org.git/blobdiff - webapp/handlers_planet.py
Massive web site update
[ipfire.org.git] / webapp / handlers_planet.py
index 1a3ba7654ee4a09522f51c453eb099cde400abcc..d1a4f7ffd700181e8503a4cc24bf3bd1ad9cb590 100644 (file)
@@ -5,7 +5,21 @@ import tornado.web
 from handlers_base import *
 
 class PlanetBaseHandler(BaseHandler):
-       pass
+       def group_entries_by_month(self, entries):
+               months = {}
+
+               for entry in entries:
+                       key = (entry.published.year, entry.published.month)
+
+                       try:
+                               months[key].append(entry)
+                       except KeyError:
+                               months[key] = [entry]
+
+               months = months.items()
+               months.sort(reverse=True)
+
+               return months
 
 
 class PlanetMainHandler(PlanetBaseHandler):
@@ -39,14 +53,11 @@ class PlanetUserHandler(PlanetBaseHandler):
                if not author:
                        raise tornado.web.HTTPError(404, "User is unknown")
 
-               offset = int(self.get_argument("offset", 0))
-               limit = int(self.get_argument("limit", 4))
-
-               entries = self.planet.get_entries_by_author(author.uid,
-                       offset=offset, limit=limit)
+               entries = self.planet.get_entries_by_author(author.uid)
+               entries = self.group_entries_by_month(entries)
 
-               self.render("planet/user.html", author=author, entries=entries,
-                       offset=offset + limit, limit=limit, rss_url="/user/%s/rss" % author.uid)
+               self.render("planet/list.html", author=author, year=None,
+                       entries=entries, rss_url="/user/%s/rss" % author.uid)
 
 
 class PlanetPostingHandler(PlanetBaseHandler):
@@ -86,15 +97,7 @@ class PlanetSearchHandler(PlanetBaseHandler):
 class PlanetYearHandler(PlanetBaseHandler):
        def get(self, year):
                entries = self.planet.get_entries_by_year(year)
+               entries = self.group_entries_by_month(entries)
 
-               months = {}
-               for entry in entries:
-                       try:
-                               months[entry.month].append(entry)
-                       except KeyError:
-                               months[entry.month] = [entry]
-
-               months = months.items()
-               months.sort(reverse=True)
-
-               self.render("planet/year.html", months=months, year=year)
+               self.render("planet/list.html", author=None, year=year,
+                       entries=entries)