Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 5th, 2012  |  syntax: None  |  size: 2.44 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. UnicodeDecodeError. While rendering the blob image
  2. class NewPost(Handler):
  3.     def render_newpost(self, title='' , content='', error = ''):
  4.         self.render("newpost.html", title = title, content = content, error = error)
  5.  
  6.  
  7.     def get(self):
  8.         user_cookie = self.request.cookies.get('user')
  9.         if user_cookie:
  10.             user_id = user_cookie.split('|')[0]
  11.             if hash_str(user_id) == user_cookie.split('|')[1]:
  12.                 user = Users.get_by_id(int(user_id))
  13.                 self.render_newpost()
  14.         else:
  15.             self.redirect('/')
  16.  
  17.  
  18.     def post(self):
  19.         title = self.request.get("title")
  20.         content = self.request.get("content")
  21.         image = self.request.get("file")
  22.  
  23.         if title and content:
  24.             p = Posts(title = title, content = content)
  25.             p.image=db.Blob(image)
  26.             p.put()
  27.             self.redirect("/")
  28.         else:
  29.             error = "Enter both title and text"
  30.             self.render_newpost(title, content, error)
  31.        
  32. class Main(Handler):
  33.     def get(self):
  34.         posts = db.GqlQuery("SELECT * FROM Posts Order by created DESC LIMIT 10")
  35.         user_cookie = self.request.cookies.get('user')
  36.         if user_cookie:
  37.             user_id = user_cookie.split('|')[0]
  38.             if hash_str(user_id) == user_cookie.split('|')[1]:
  39.                 user = Users.get_by_id(int(user_id))
  40.                 self.render("front.html", posts = posts, user=user)
  41.         else:
  42.             self.response.headers['Content-Type'] = "image/jpeg"
  43.             self.render("front.html", posts = posts)
  44.        
  45. <form method="post" enctype="multipart/form-data">
  46.         <div class="newpost">
  47.             <label>Image:</label>
  48.             <input type="file" name="file"/>
  49.             <div class="label">Title:
  50.                 <input type="text" name="title" value="{{title}}"/>
  51.             </div>
  52.            <hr>
  53.             <div class="label">Content:
  54.                 <textarea name="content">{{content}}</textarea>
  55.             </div>
  56.         </div>
  57.         <input type="submit"/>
  58.         <div class="error">{{error}}</div>
  59.     </form>
  60.        
  61. {% for post in posts %}
  62.                 {% if post.image %}
  63.                 <li><img src="/static/images/{{post.image}}"/>
  64.                 {% endif %}
  65.                     <h4><a href="#">{{post.title}}</a></h4>
  66.                     <p class="zoom">{{post.content}}</p>
  67.             {% endfor %}
  68.        
  69. {% if post.image_id %}
  70.     <li><img src="/image/{{post.image_id}}" />
  71. {% endif %}