18
18
For more information, see README.md.
19
19
"""
20
20
21
- # [START all]
22
-
21
+ # [START gae_images_guestbook_all]
23
22
import cgi
24
23
import urllib
25
24
26
- # [START import_images ]
25
+ # [START gae_images_guestbook_import_images ]
27
26
from google .appengine .api import images
27
+ # [END gae_images_guestbook_import_images]
28
28
29
- # [END import_images]
30
29
from google .appengine .api import users
31
30
from google .appengine .ext import ndb
32
31
33
32
import webapp2
34
33
35
34
36
- # [START model ]
35
+ # [START gae_images_guestbook_model ]
37
36
class Greeting (ndb .Model ):
38
37
"""Models a Guestbook entry with an author, content, avatar, and date."""
39
38
40
39
author = ndb .StringProperty ()
41
40
content = ndb .TextProperty ()
42
41
avatar = ndb .BlobProperty ()
43
42
date = ndb .DateTimeProperty (auto_now_add = True )
44
-
45
-
46
- # [END model]
43
+ # [END gae_images_guestbook_model]
47
44
48
45
49
46
def guestbook_key (guestbook_name = None ):
@@ -67,16 +64,16 @@ def get(self):
67
64
self .response .out .write ("<b>%s</b> wrote:" % greeting .author )
68
65
else :
69
66
self .response .out .write ("An anonymous person wrote:" )
70
- # [START display_image ]
67
+ # [START gae_images_guestbook_display_image ]
71
68
self .response .out .write (
72
69
'<div><img src="/img?img_id=%s"></img>' % greeting .key .urlsafe ()
73
70
)
74
71
self .response .out .write (
75
72
"<blockquote>%s</blockquote></div>" % cgi .escape (greeting .content )
76
73
)
77
- # [END display_image ]
74
+ # [END gae_images_guestbook_display_image ]
78
75
79
- # [START form ]
76
+ # [START gae_images_guestbook_form ]
80
77
self .response .out .write (
81
78
"""
82
79
<form action="/sign?%s"
@@ -99,10 +96,10 @@ def get(self):
99
96
cgi .escape (guestbook_name ),
100
97
)
101
98
)
102
- # [END form ]
99
+ # [END gae_images_guestbook_form ]
103
100
104
101
105
- # [START image_handler ]
102
+ # [START gae_images_guestbook_image_handler ]
106
103
class Image (webapp2 .RequestHandler ):
107
104
def get (self ):
108
105
greeting_key = ndb .Key (urlsafe = self .request .get ("img_id" ))
@@ -112,12 +109,10 @@ def get(self):
112
109
self .response .out .write (greeting .avatar )
113
110
else :
114
111
self .response .out .write ("No image" )
112
+ # [END gae_images_guestbook_image_handler]
115
113
116
114
117
- # [END image_handler]
118
-
119
-
120
- # [START sign_handler]
115
+ # [START gae_images_guestbook_sign_handler]
121
116
class Guestbook (webapp2 .RequestHandler ):
122
117
def post (self ):
123
118
guestbook_name = self .request .get ("guestbook_name" )
@@ -128,24 +123,18 @@ def post(self):
128
123
129
124
greeting .content = self .request .get ("content" )
130
125
131
- # [START sign_handler_1]
132
126
avatar = self .request .get ("img" )
133
- # [END sign_handler_1]
134
- # [START transform]
127
+ # [START gae_images_guestbook_transform]
135
128
avatar = images .resize (avatar , 32 , 32 )
136
- # [END transform]
137
- # [START sign_handler_2]
129
+ # [END gae_images_guestbook_transform]
138
130
greeting .avatar = avatar
139
131
greeting .put ()
140
- # [END sign_handler_2]
141
132
142
133
self .redirect ("/?" + urllib .urlencode ({"guestbook_name" : guestbook_name }))
143
-
144
-
145
- # [END sign_handler]
134
+ # [END gae_images_guestbook_sign_handler]
146
135
147
136
148
137
app = webapp2 .WSGIApplication (
149
138
[("/" , MainPage ), ("/img" , Image ), ("/sign" , Guestbook )], debug = True
150
139
)
151
- # [END all ]
140
+ # [END gae_images_guestbook_all ]
0 commit comments