Example #1
0
 def post(self, username):
   from helpers.textile import textile
   target_user = User.all().filter('username', username).get()
   template_values = {
     'target_user':target_user,
     'user':User.all().filter('google_account', users.get_current_user()).get(), 
     'logout_url':users.create_logout_url('/'), 
     'login_url':users.create_login_url('/'),
     'success':True
   }
   author=self.request.get('author')
   body = self.request.get('body')
   if self.request.get('email') != '':
     notification = email.EmailMessage(sender='Admonymous <*****@*****.**>', to='*****@*****.**', subject='BOT left someone a response on Admonymous')
     notification.render_and_send('notification', {
       'target_user':target_user,
       'author':None if author == 'anonymous' else author,
       'body_html':response.body,
       'body_txt':body
     })
   else:
     response = Response(body=encoding.force_unicode(textile.textile(encoding.smart_str(body), encoding='utf-8', output='utf-8')), author=author, user=target_user, revealed=True)
     response.put()
     if target_user.google_account:
       target_email = target_user.google_account.email()
     elif target_user.username == 'admonymous':
       target_email = '*****@*****.**'
     notification = email.EmailMessage(sender='Admonymous <*****@*****.**>', to=target_email, subject='%s left you a response on Admonymous' % ('Someone' if not author else author))
     notification.render_and_send('notification', {
       'target_user':target_user,
       'author':None if author == 'anonymous' else author,
       'body_html':response.body,
       'body_txt':body
     })
   path = 'templates/user.html'
   page = template.render(path, template_values, debug=(True if 'local' in self.request.host_url or users.is_current_user_admin() else False))
   self.response.out.write(page)
Example #2
0
 def message_html(self):
   from helpers.textile import textile
   return textile.textile(self.message)
Example #3
0
def safe_html(text):
  text = re.sub('&(?!amp;)', '&amp;', text)
  text = scrub_characters(text)
  return textile.textile(text)