from ExamplePage import ExamplePage
class CountVisits(ExamplePage):
"""Counting visits example."""
def writeContent(self):
if self.request().hasField('expire'):
self.session().expiring()
self.sendRedirectAndEnd('CountVisits')
self.writeln('<h3>Counting Visits</h3>')
if self.request().isSessionExpired():
self.writeln('<p><em>Your session has expired.</em></p>')
count = self.session().value('count', 0) + 1
self.session().setValue('count', count)
self.writeln("""<p>You've been here
<strong style="background-color:yellow"> %d </strong> time%s.</p>
<p>This page records your visits using a session object.
Every time you <a href="javascript:location.reload()">reload</a>
or <a href="CountVisits">revisit</a> this page, the counter will increase.
If you close your browser or force the session to
<a href="CountVisits?expire=1">expire</a>, then your session will end
and you will see the counter go back to 1 on your next visit.</p>
<p>Try hitting <a href="javascript:location.reload()">reload</a> now.</p>"""
% (count, count > 1 and 's' or ''))
|