From: Michael Tremer Date: Wed, 1 Nov 2017 11:54:36 +0000 (+0100) Subject: planet: Log view when rendering the post X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3b091201e8a77865b1092f6a1372e8fc12fadfc1;p=ipfire.org.git planet: Log view when rendering the post Doing it after could not always be performed when HEAD was called. Signed-off-by: Michael Tremer --- diff --git a/webapp/handlers_planet.py b/webapp/handlers_planet.py index d1a4f7ff..3eb15996 100644 --- a/webapp/handlers_planet.py +++ b/webapp/handlers_planet.py @@ -62,24 +62,22 @@ class PlanetUserHandler(PlanetBaseHandler): class PlanetPostingHandler(PlanetBaseHandler): def get(self, slug): - self.entry = self.planet.get_entry_by_slug(slug) - - if not self.entry: + entry = self.planet.get_entry_by_slug(slug) + if not entry: raise tornado.web.HTTPError(404) - self.render("planet/posting.html", - author=self.entry.author, entry=self.entry) - - def on_finish(self): - assert self.entry - # Get the referer and location for statistical purposes referer = self.request.headers.get("Referer", None) location = self.get_remote_location() if location: location = location.country - self.entry.count_view(referer=referer, location=location) + # Log the request + with self.db.transaction(): + entry.count_view(referer=referer, location=location) + + self.render("planet/posting.html", + author=entry.author, entry=entry) class PlanetSearchHandler(PlanetBaseHandler):