-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample.py
55 lines (38 loc) · 1.02 KB
/
example.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
from datetime import datetime
from rivr import serve
from rivr_peewee import Database
from rivr_rest import Router
from rivr_rest_peewee import PeeweeResource, PeeweeListResource
import peewee
"""
A simple Todo API using rivr-rest-peewee.
"""
## Models:
database = Database(peewee.SqliteDatabase('example.sqlite'))
class Task(database.Model):
text = peewee.CharField()
created_at = peewee.DateTimeField(default=datetime.now)
def __str__(self):
return self.text
## Resources
class TaskResource(PeeweeResource):
model = Task
uri_template = '/tasks/{id}'
class TaskListResource(PeeweeListResource):
uri_template = '/tasks'
model = Task
relation = 'tasks'
resource = TaskResource
router = Router(
TaskListResource,
TaskResource,
)
router.add_root_resource('tasks', TaskListResource)
if __name__ == '__main__':
try:
Task.create_table()
Task.create(text='My first task')
except:
# Database is already created
pass
serve(database(router))