jespern / django-piston (http://bitbucket.org/jespern/)
Piston is a Django mini-framework creating APIs.
Clone this repository (size: 470.9 KB): HTTPS / SSH
$ hg clone http://bitbucket.org/jespern/django-piston/
| commit 216: | b225c7b2b067 |
| parent 215: | 747dfcd263a3 |
| branch: | default |
getting the blogserver up and running with the latest code
6 months ago
Changed (Δ105 bytes):
raw changeset »
examples/blogserver/api/handlers.py (9 lines added, 15 lines removed)
Up to file-list examples/blogserver/api/handlers.py:
| … | … | @@ -3,23 +3,12 @@ from piston.utils import rc, require_mim |
3 |
3 |
|
4 |
4 |
from blogserver.blog.models import Blogpost |
5 |
5 |
|
6 |
class AnonymousBlogpostHandler(AnonymousBaseHandler): |
|
7 |
""" |
|
8 |
Anonymous entrypoint for blogposts. |
|
9 |
""" |
|
10 |
model = Blogpost |
|
11 |
fields = ('id', 'title', 'content', 'created_on') |
|
12 |
||
13 |
@classmethod |
|
14 |
def resource_uri(cls): |
|
15 |
return ('blogposts', [ 'format', ]) |
|
16 |
||
17 |
6 |
class BlogpostHandler(BaseHandler): |
18 |
7 |
""" |
19 |
8 |
Authenticated entrypoint for blogposts. |
20 |
9 |
""" |
21 |
10 |
model = Blogpost |
22 |
anonymous = |
|
11 |
anonymous = 'AnonymousBlogpostHandler' |
|
23 |
12 |
fields = ('title', 'content', ('author', ('username',)), |
24 |
13 |
'created_on', 'content_length') |
25 |
14 |
|
| … | … | @@ -28,8 +17,8 @@ class BlogpostHandler(BaseHandler): |
28 |
17 |
return len(blogpost.content) |
29 |
18 |
|
30 |
19 |
@classmethod |
31 |
def resource_uri(cls): |
|
32 |
return ('blogposts', [ 'format', ]) |
|
20 |
def resource_uri(cls, blogpost): |
|
21 |
return ('blogposts', [ 'json', ]) |
|
33 |
22 |
|
34 |
23 |
def read(self, request, title=None): |
35 |
24 |
""" |
| … | … | @@ -46,7 +35,6 @@ class BlogpostHandler(BaseHandler): |
46 |
35 |
else: |
47 |
36 |
return base.all() |
48 |
37 |
|
49 |
@require_extended |
|
50 |
38 |
def create(self, request): |
51 |
39 |
""" |
52 |
40 |
Creates a new blogpost. |
| … | … | @@ -62,3 +50,9 @@ class BlogpostHandler(BaseHandler): |
62 |
50 |
post.save() |
63 |
51 |
|
64 |
52 |
return post |
53 |
||
54 |
class AnonymousBlogpostHandler(BlogpostHandler, AnonymousBaseHandler): |
|
55 |
""" |
|
56 |
Anonymous entrypoint for blogposts. |
|
57 |
""" |
|
58 |
fields = ('id', 'title', 'content', 'created_on') |
