]>
Commit | Line | Data |
---|---|---|
940227cb MT |
1 | #!/usr/bin/python |
2 | ||
3 | import tornado.web | |
4 | ||
5 | from handlers_base import * | |
6 | ||
7 | import backend | |
8 | ||
9 | from backend.databases import Databases | |
10 | ||
11 | class PlanetBaseHandler(BaseHandler): | |
12 | @property | |
13 | def db(self): | |
14 | return Databases().webapp | |
15 | ||
16 | @property | |
17 | def planet(self): | |
18 | return backend.Planet() | |
19 | ||
20 | ||
21 | class PlanetMainHandler(PlanetBaseHandler): | |
22 | def get(self): | |
23 | offset = int(self.get_argument("offset", 0)) | |
24 | limit = int(self.get_argument("limit", 4)) | |
25 | ||
26 | entries = self.planet.get_entries(offset=offset, limit=limit) | |
27 | ||
28 | self.render("planet-main.html", entries=entries, | |
29 | authors=self.planet.get_authors(), | |
30 | offset=offset + limit, limit=limit) | |
31 | ||
32 | ||
33 | class PlanetUserHandler(PlanetBaseHandler): | |
34 | def get(self, author): | |
35 | author = self.accounts.search(author) | |
36 | if not author: | |
37 | raise tornado.web.HTTPError(404, "User is unknown") | |
38 | ||
39 | offset = int(self.get_argument("offset", 0)) | |
40 | limit = int(self.get_argument("limit", 4)) | |
41 | ||
42 | entries = self.planet.get_entries_by_author(author.uid, | |
43 | offset=offset, limit=limit) | |
44 | ||
45 | self.render("planet-user.html", author=author, entries=entries, | |
46 | offset=offset + limit, limit=limit) | |
47 | ||
48 | ||
49 | class PlanetPostingHandler(PlanetBaseHandler): | |
50 | def get(self, slug): | |
51 | entry = self.planet.get_entry_by_slug(slug) | |
52 | ||
53 | if not entry: | |
54 | raise tornado.web.HTTPError(404) | |
55 | ||
56 | self.render("planet-posting.html", | |
57 | author=entry.author, entry=entry) |