易經查詢系統-程式碼 (2)

功能 2

# -*- coding: utf-8 -*- import os import cgi from urllib import * from urllib2 import * hostSolr = 'localhost:8080' try: hostSolr = os.environ['HTTP_HOST'] form = cgi.FieldStorage() q = form.getfirst('q', '*:*') except: q = '*:*' serviceBaseURL = "http://%s/solr/taichi64/select" % (hostSolr) print "Content-type: text/html; charset=utf-8\n\n\n\n" print "<html><head>\n" print "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />" print "<title>易經-綜合查詢</title>" print "</head><body>\n" serviceRequest = { 'q': q, 'wt': 'python' } serviceData = urlencode(serviceRequest) serviceURL = Request(serviceBaseURL, serviceData) print "<table border='1' width='800'>" print "<tr align='center'>" print "<td bgcolor='silver' width='48'>欄位</td>" print "<td bgcolor='silver' colspan='2'><a ref='%s'>說明 (%s)</a></td></tr>" % (serviceURL, q) try: solrInst = urlopen(serviceURL) resultList = eval( solrInst.read() ) for hit in resultList['response']['docs']: id = hit['id'] print "<tr align='center'>" print "<td><img src='../images/%s-0.png'></td>" % (id) name = hit['name'].encode('utf-8') print "<td colspan='2' bgcolor='silver'>%s (%s)</td></tr>" % (name, id) sku = hit['sku'].split('|') print "<tr><td bgcolor='silver' align='center'>座標</td><td>%s</td><td>%s</td></tr>" %

(sku[1].encode('utf-8'), sku[0].encode('utf-8')) for title in hit['title']: print "<tr><td bgcolor='silver' align='center'>簡說</td><td colspan='2'>%s</td></tr>" % (title.encode('utf-8')) print "<tr><td bgcolor='silver' align='center'>詳述</td><td colspan='2'><ul>" desc = hit['description'].split('|') for ds in desc: print "<li>%s</li>" % (ds.encode('utf-8')) print "</ul></td></tr>" print "<tr><td bgcolor='silver' align='center'>問事</td><td colspan='2'><table border='1' width='100%'>" for feature in hit['features']: direction = feature.split('|') print "<tr><td bgcolor='silver' align='center'>%s</td><td>%s</td></tr>" % (direction[0].encode('utf-8'),

direction[1].encode('utf-8')) print "</table></td></tr>" print "<tr><td bgcolor='silver' align='center'>建議</td><td colspan='2'><ul>" comments = hit['comments'].split('|') for cmnt in comments: print "<li>%s</li>" % (cmnt.encode('utf-8')) print "</ul></td></tr>" except Exception as err: exc_type, exc_obj, exc_tb = sys.exc_info() print "<tr><td bgcolor='silver' align='center'>訊息</td><td colspan='2'>%s (%d)</td></tr>" % (err, exc_tb.tb_lineno) print "<tr><td bgcolor='silver' align='center'>除錯</td><td colspan='2'><a href='%s' target='_blank'>原始資料</a></td></tr>" % (serviceURL) print "</table>" print "</body>" print "</html>"