]>
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
)
19 years
= self
.planet
.get_years()
21 self
.render("planet/index.html", entries
=entries
, years
=years
,
22 offset
=offset
+ limit
, limit
=limit
)
25 class PlanetUserHandler(PlanetBaseHandler
):
26 def get(self
, author
):
27 author
= self
.accounts
.search(author
)
29 raise tornado
.web
.HTTPError(404, "User is unknown")
31 offset
= int(self
.get_argument("offset", 0))
32 limit
= int(self
.get_argument("limit", 4))
34 entries
= self
.planet
.get_entries_by_author(author
.uid
,
35 offset
=offset
, limit
=limit
)
37 self
.render("planet/user.html", author
=author
, entries
=entries
,
38 offset
=offset
+ limit
, limit
=limit
, rss_url
="/user/%s/rss" % author
.uid
)
41 class PlanetPostingHandler(PlanetBaseHandler
):
43 entry
= self
.planet
.get_entry_by_slug(slug
)
46 raise tornado
.web
.HTTPError(404)
48 self
.render("planet/posting.html",
49 author
=entry
.author
, entry
=entry
)
52 class PlanetSearchHandler(PlanetBaseHandler
):
54 query
= self
.get_argument("q", "")
57 entries
= self
.planet
.search(query
)
61 self
.render("planet/search.html", entries
=entries
, query
=query
)
64 class PlanetYearHandler(PlanetBaseHandler
):
66 entries
= self
.planet
.get_entries_by_year(year
)
71 months
[entry
.month
].append(entry
)
73 months
[entry
.month
] = [entry
]
75 months
= months
.items()
76 months
.sort(reverse
=True)
78 self
.render("planet/year.html", months
=months
, year
=year
)
81 class PlanetAPISearchAutocomplete(PlanetBaseHandler
):
83 query
= self
.get_argument("q")
85 raise tornado
.web
.HTTPError(400)
87 results
= self
.planet
.search_autocomplete(query
)