]>
git.ipfire.org Git - ipfire.org.git/blob - webapp/handlers_planet.py
5 from handlers_base
import *
9 from backend
.databases
import Databases
11 class PlanetBaseHandler(BaseHandler
):
14 return Databases().webapp
18 return backend
.Planet()
21 class PlanetMainHandler(PlanetBaseHandler
):
25 offset
= int(self
.get_argument("offset", 0))
26 limit
= int(self
.get_argument("limit", 4))
28 entries
= self
.planet
.get_entries(offset
=offset
, limit
=limit
)
29 years
= self
.planet
.get_years()
31 self
.render("planet/index.html", entries
=entries
, years
=years
,
32 offset
=offset
+ limit
, limit
=limit
)
35 class PlanetUserHandler(PlanetBaseHandler
):
36 def get(self
, author
):
37 author
= self
.accounts
.search(author
)
39 raise tornado
.web
.HTTPError(404, "User is unknown")
41 offset
= int(self
.get_argument("offset", 0))
42 limit
= int(self
.get_argument("limit", 4))
44 entries
= self
.planet
.get_entries_by_author(author
.uid
,
45 offset
=offset
, limit
=limit
)
47 self
.render("planet/user.html", author
=author
, entries
=entries
,
48 offset
=offset
+ limit
, limit
=limit
, rss_url
="/user/%s/rss" % author
.uid
)
51 class PlanetPostingHandler(PlanetBaseHandler
):
53 entry
= self
.planet
.get_entry_by_slug(slug
)
56 raise tornado
.web
.HTTPError(404)
58 self
.render("planet/posting.html",
59 author
=entry
.author
, entry
=entry
)
62 class PlanetSearchHandler(PlanetBaseHandler
):
64 query
= self
.get_argument("q", "")
67 entries
= self
.planet
.search(query
)
71 self
.render("planet/search.html", entries
=entries
, query
=query
)
74 class PlanetYearHandler(PlanetBaseHandler
):
76 entries
= self
.planet
.get_entries_by_year(year
)
81 months
[entry
.month
].append(entry
)
83 months
[entry
.month
] = [entry
]
85 months
= months
.items()
86 months
.sort(reverse
=True)
88 self
.render("planet/year.html", months
=months
, year
=year
)
91 class PlanetAPISearchAutocomplete(PlanetBaseHandler
):
93 query
= self
.get_argument("q")
95 raise tornado
.web
.HTTPError(400)
97 results
= self
.planet
.search_autocomplete(query
)