]>
git.ipfire.org Git - people/shoehn/ipfire.org.git/blob - webapp/handlers_planet.py
5 from handlers_base
import *
7 class PlanetBaseHandler(BaseHandler
):
11 class PlanetMainHandler(PlanetBaseHandler
):
15 offset
= int(self
.get_argument("offset", 0))
16 limit
= int(self
.get_argument("limit", 4))
18 entries
= self
.planet
.get_entries(offset
=offset
, limit
=limit
)
20 self
.render("planet/index.html", entries
=entries
, offset
=offset
+ limit
, limit
=limit
)
23 class PlanetHotEntriesHandler(PlanetBaseHandler
):
25 days
= self
.get_argument("days", None)
28 except (TypeError, ValueError):
31 entries
= self
.planet
.get_hot_entries(days
, limit
=25)
33 self
.render("planet/hottest.html", entries
=entries
)
36 class PlanetUserHandler(PlanetBaseHandler
):
37 def get(self
, author
):
38 author
= self
.accounts
.get_by_uid(author
)
40 raise tornado
.web
.HTTPError(404, "User is unknown")
42 offset
= int(self
.get_argument("offset", 0))
43 limit
= int(self
.get_argument("limit", 4))
45 entries
= self
.planet
.get_entries_by_author(author
.uid
,
46 offset
=offset
, limit
=limit
)
48 self
.render("planet/user.html", author
=author
, entries
=entries
,
49 offset
=offset
+ limit
, limit
=limit
, rss_url
="/user/%s/rss" % author
.uid
)
52 class PlanetPostingHandler(PlanetBaseHandler
):
54 self
.entry
= self
.planet
.get_entry_by_slug(slug
)
57 raise tornado
.web
.HTTPError(404)
59 self
.render("planet/posting.html",
60 author
=self
.entry
.author
, entry
=self
.entry
)
65 # Get the referer and location for statistical purposes
66 referer
= self
.request
.headers
.get("Referer", None)
67 location
= self
.get_remote_location()
69 location
= location
.country
71 self
.entry
.count_view(referer
=referer
, location
=location
)
74 class PlanetSearchHandler(PlanetBaseHandler
):
76 query
= self
.get_argument("q", "")
79 entries
= self
.planet
.search(query
)
83 self
.render("planet/search.html", entries
=entries
, query
=query
)
86 class PlanetYearHandler(PlanetBaseHandler
):
88 entries
= self
.planet
.get_entries_by_year(year
)
93 months
[entry
.month
].append(entry
)
95 months
[entry
.month
] = [entry
]
97 months
= months
.items()
98 months
.sort(reverse
=True)
100 self
.render("planet/year.html", months
=months
, year
=year
)