/
code1.py
65 lines (59 loc) · 1.91 KB
/
code1.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import web
import MySQLdb
import json
from nltk.stem.snowball import EnglishStemmer
urls = (
'/', 'index',
'/query', 'query'
)
render = web.template.render("templates")
class index:
def GET(self):
return render.index()
class query:
def GET(self):
#return "Hello, world!"
#def query(req):
data = web.input()
word=str(data.word)
"""
parameters = util.FieldStorage(req)
word = parameters['word']
req.write(word)
"""
#print word
db = MySQLdb.connect("127.0.0.1","root","","dizing" )
cursor=db.cursor()
snowball_stemmer = EnglishStemmer()
stem2 = snowball_stemmer.stem(word)
cursor.execute("SELECT * FROM words WHERE original=%s OR stem1=%s OR stem2=%s", (word,word,stem2))
rows = cursor.fetchall()
words1 = dict()
words2 = dict()
for row in rows:
if row[1] == word or row[3]==word:
words1[word] = row[0]
else:
words2[word] = row[0]
scenes1 = []
scenes2 = []
for (i,words_dict) in [(1,words1), (2,words2)]:
wids = words_dict.values()
for wid in wids:
sql = "SELECT s.sentence, s.start, s.stop, m.title FROM scene AS s, words_scenes AS ws, movie as m " + \
"WHERE ws.wid=%d AND ws.sid=s.sid AND s.mid = m.mid" % int(wid)
print sql
cursor.execute(sql)
rows = cursor.fetchall()
if (i==1): scenes1 += rows
else: scenes2 += rows
print scenes1
print scenes2
#req.write(str(scenes1))
#req.write(str(scenes2))
db.close()
result = { 'scenes1': scenes1, 'scenes2': scenes2 }
return json.dumps(result)
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()