From e22c673a5f864a5097a6f09d985c06dfb068f4de Mon Sep 17 00:00:00 2001 From: Mike Dirolf Date: Mon, 11 May 2009 10:54:07 -0400 Subject: [PATCH] use nickname instead of nick. basic paging implemented --- sms.py | 26 +++++++++++++++++++++----- templates/index.html | 10 ++++++---- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/sms.py b/sms.py index 24ac218..8c1b9bf 100644 --- a/sms.py +++ b/sms.py @@ -2,23 +2,39 @@ import web from pymongo.connection import Connection +from pymongo import DESCENDING urls = ("/image/(.*)", "Image", "/", "Main", - "/page/(.*)", "Main") + "/page/(\d+)", "Main") app = web.application(urls, globals()) render = web.template.render("templates/") db = Connection().sms +page_size = 5 class Main: def GET(self, page=None): - return render.index(db.messages.find()) + if page is None: + page = 0 + page = int(page) + + previous = None + if page > 0: + previous = page - 1 + + next = None + if db.messages.count() > (page + 1) * page_size: + next = page + 1 + + return render.index(db.messages.find().sort("date", DESCENDING).limit(page_size).skip(page * page_size), + previous, next) def POST(self): post_data = web.input() - db.messages.insert({"nick": post_data.nickname, - "text": post_data.text, - "date": datetime.datetime.utcnow()}) + if post_data.nickname and post_data.text: + db.messages.insert({"nickname": post_data.nickname, + "text": post_data.text, + "date": datetime.datetime.utcnow()}) raise web.seeother("/") class Image: diff --git a/templates/index.html b/templates/index.html index d0ebf02..abdbc8e 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1,4 +1,4 @@ -$def with (messages) +$def with (messages, previous, next) @@ -55,7 +55,7 @@ $# thumbnail here -
$message["nick"]
+
$message["nickname"]
$message["text"]
@@ -70,8 +70,10 @@