summaryrefslogtreecommitdiff
path: root/artima/python/webpy/pizzaserver.py
blob: 1297f347d812e76ab492b017f744db3e0c8d7fe4 (plain)
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
import web
from resource import Register
from create_pizza_db import DBFILE
from simplejson import dumps

resource = Register()

db = web.database(dbn='sqlite', db=DBFILE)

@resource('/pizzas')
def pizzas_GET(input):
    res = db.select('pizza', order='pizza')
    return dumps(res.list())

@resource('/pizza/([a-z\d]+)')
def pizza_GET(input, employee):
    res = db.select('pizza', locals(), where="employee=$employee")
    return dumps(res.list())

@resource('/pizza/([a-z\d]+)')
def pizza_POST(input, employee):
    db.insert('pizza', employee=employee, pizza=input.pizza,
              drink=input.drink, seqname=False)

@resource('/pizza/([a-z\d]+)')
def pizza_PUT(input, employee):
    count = db.update('pizza', 'employee=$employee', vars=locals(),
                    pizza=input.pizza, drink=input.drink)
    return str(count)

@resource('/pizza/([a-z\d]+)')
def pizza_DELETE(input, employee):
    count = db.delete('pizza', 'employee=$employee', vars=locals())
    return str(count)

if __name__ == '__main__':
    resource.app.run()