diff --git a/apps/search.py b/apps/search.py new file mode 100644 index 0000000..72f886c --- /dev/null +++ b/apps/search.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" + search 搜索 +""" + +import tornado.web +import tornado.database +from settings import db, NAVNUM +from libs import markdown +from tornado.escape import xhtml_escape + +md = markdown.Markdown(safe_mode=True) + +class BaseHandler(tornado.web.RequestHandler): + + @property + def db(self): + blogdb = tornado.database.Connection( + host=db["host"] + ":" + db["port"], database=db["db"], + user=db["user"], password=db["password"]) + return blogdb + + def get_current_user(self): + user_id = self.get_secure_cookie("user") + if not user_id: + return None + return self.db.get("SELECT * FROM users WHERE id = %s", int(user_id)) + +class CodeHandler(BaseHandler): + + def get(self): + + q = xhtml_escape(self.get_argument("q")) + + entries = self.db.query("SELECT * FROM entries where title like '%%" + q + "%%' LIMIT 30") + + count = len(entries) + pages = (count - 1) / NAVNUM + 1 + self.render("search.html", entries=entries, pages=pages, counts=count) diff --git a/templates/base.html b/templates/base.html index a408d7f..3dad0c5 100644 --- a/templates/base.html +++ b/templates/base.html @@ -16,6 +16,12 @@
+ diff --git a/templates/search.html b/templates/search.html new file mode 100644 index 0000000..307bf2a --- /dev/null +++ b/templates/search.html @@ -0,0 +1,57 @@ +{% extends "base.html" %} + +{% block body %} +| 序号 | +标题 | +介绍 | +
|---|---|---|
| #{{counts-i}} | +{{entry.title}} | +{{entry.info[ :100]}} | +