X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=search-tags.py;h=9bdfc8bb5bc1e4cd6711e6f7f4caad5fe5bc464c;hb=881e263930be7041608fa7a0b72da289cb8c90a2;hp=6675a896935f07a040c1c3c2e38989a6a990c9f0;hpb=5249d271093a266289a1b96946f2a14a36b2ac2e;p=phdru.name%2Fcgi-bin%2Fblog-ru%2Fsearch-tags.git diff --git a/search-tags.py b/search-tags.py index 6675a89..9bdfc8b 100755 --- a/search-tags.py +++ b/search-tags.py @@ -1,13 +1,31 @@ #! /usr/bin/env python -"""Search tags""" +"""Search tags CGI""" __author__ = "Oleg Broytman " __copyright__ = "Copyright (C) 2014 PhiloSoft Design" __license__ = "GNU GPL" import cgi -from parse_query import parser +from ply.lex import LexError + +from html.response import response +from parser.parser import parser form = cgi.FieldStorage() if not form.has_key('q'): - print "Error" + status = "400 Bad request" + title = "Error!" + body = "Required parameter is missing!" + +else: + q = form['q'].value + try: + tree = parser.parse(q) + except LexError: + tree = None + if tree is None: + status = "400 Bad request" + title = "Error!" + body = "Bad query syntax!" + +response(title, body, status)