-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathcode.py
More file actions
53 lines (40 loc) · 1.58 KB
/
Copy pathcode.py
File metadata and controls
53 lines (40 loc) · 1.58 KB
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
#coding:utf8
import web
db = web.database(dbn='sqlite', db='MovieSite.db')
render = web.template.render('templates/')
urls = (
'/', 'index',
'/movie/(.*)', 'movie',
'/cast/(.*)', 'cast',
'/director/(.*)', 'director',
)
class index:
def GET(self):
movies = db.select('movie')
count = db.query('SELECT COUNT(*) AS COUNT FROM movie')[0]['COUNT']
return render.index(movies, count, None)
def POST(self):
data = web.input()
condition = r'TITLE LIKE "%' + data.title + r'%"'
movies = db.select('movie', where=condition)
count = db.query('SELECT COUNT(*) AS COUNT FROM movie WHERE ' + condition)[0]['COUNT']
return render.index(movies, count, data.title)
class movie:
def GET(self, movie_id):
movie = db.select('movie', where='id=$int(movie_id)', vars=locals())[0]
return render.movie(movie)
class cast:
def GET(self, cast_name):
condition = r'CASTS LIKE "%' + cast_name + r'%"'
movies = db.select('movie', where=condition)
count = db.query('SELECT COUNT(*) AS COUNT FROM movie WHERE ' + condition)[0]['COUNT']
return render.index(movies, count, cast_name)
class director:
def GET(self, director_name):
condition = r'DIRECTORS LIKE "%' + director_name + r'%"'
movies = db.select('movie', where=condition)
count = db.query('SELECT COUNT(*) AS COUNT FROM movie WHERE ' + condition)[0]['COUNT']
return render.index(movies, count, director_name)
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()