def post(self): user = self.getAuthentificatedUser() if not user: return try: id = int(self.request.get('id')) topic = Topic().get(db.Key.from_path('Topic', id)) preview = self.request.get('preview', None) if preview is not None: forum = self.getForumInstance() postmarkup = create(use_pygments=False) body = strip_ml_tags(self.request.get('body')) body2 = postmarkup(body) template_values = { 'url' : users.CreateLogoutURL(self.request.uri), 'user' : user, 'forum' : forum, 'topic' : topic, 'body' : body, 'body2' : body2, 'page' : 100 } path = os.path.join(os.path.dirname(__file__), os.path.join('templates', 'previewPost.htm')) self.response.out.write(template.render(path, template_values)) return except: self.redirect('/') return post = Post() #parent=topic.key() post.topic = topic if users.get_current_user(): post.author = users.get_current_user() body = db.Text(strip_ml_tags(self.request.get('body'))) postmarkup = create(use_pygments=False) post.body = postmarkup(body) # replace('\n','<br />') if post.body != '': post.put() # index it! ix = getdatastoreindex("post_"+str(post.key().id()), schema=SEARCHSCHEMA) writer = ix.writer() writer.add_document(body=u"%s" % post.body) writer.commit() # end index mailAdditionalText = """ ... testing e-mail notification. Sorry if you get this message accidently.""" post.sendMailToAll(user.email(), mailAdditionalText) ##### #message = mail.EmailMessage(sender=user.email(), subject="New message in small-forum") #message.to = "log1 (sms) <*****@*****.**>" #message.body = post.body #message.send() ##### # To Do if self.request.get('page'): self.redirect('/view?id=' + str(self.request.get('id')) + '&page=' + self.request.get('page')) else: self.redirect('/view?id=' + str(self.request.get('id')))
def post(self): user = self.getAuthentificatedUser() if not user: return try: id = int(self.request.get('id')) topic = Topic().get(db.Key.from_path('Topic', id)) except: self.redirect('/') return post = Post(parent=topic.key()) post.topic = topic if users.get_current_user(): post.author = users.get_current_user() body = db.Text(strip_ml_tags(self.request.get('body'))) postmarkup = create(use_pygments=False) post.body = postmarkup(body) # replace('\n','<br />') if post.body != '': post.put() message = mail.EmailMessage(sender=user.email(), subject="New message in small-forum") message.to = "log1 <*****@*****.**>" message.body = post.body + """ ... testing e-mail notification. Sorry if you get this message accidently.""" message.send() #topic = Topic().all().filter('id =', int(self.request.get('id'))) #topic = topic[0] #topic.getUserList() # To Do if self.request.get('page'): self.redirect('/view?id=' + str(self.request.get('id')) + '&page=' + self.request.get('page')) else: self.redirect('/view?id=' + str(self.request.get('id')))
def post(self): user = self.getAuthentificatedUser() if not user: return id = self.request.get('id') try: thread = Thread.get(db.Key.from_path('Thread', int(id))) except: return name = strip_ml_tags(self.request.get('name')) if name == '': template_values = { 'topics' : self.topics, 'name' : name, } else: topic = Topic() #parent=thread topic.thread = thread topic.name = name if users.get_current_user(): topic.author = users.get_current_user() topic.put() mode = self.request.get('mode') self.redirect('/view?id=' + str(topic.key().id())) return template_values = { 'topics' : self.topics, 'name' : '', } path = os.path.join(os.path.dirname(__file__), os.path.join('templates', 'addTopic.htm')) self.response.out.write(template.render(path, template_values))
def post(self): user = self.getAuthentificatedUser() if not user: return try: id = int(self.request.get('post_id')) post = Post().get(db.Key.from_path('Post', id)) if post.author != user: self.redirect('/') return body = db.Text(strip_ml_tags(self.request.get('body'))) postmarkup = create(use_pygments=False) post.body = postmarkup(body) # replace('\n','<br />') if post.body != '': post.put() # re-index it! ix = getdatastoreindex("post_"+str(post.key().id()), schema=SEARCHSCHEMA) writer = ix.writer() writer.add_document(body=u"%s" % post.body) writer.commit() except: pass if self.request.get('page'): self.redirect('/view?id=' + str(self.request.get('id')) + '&page=' + self.request.get('page')) else: self.redirect('/view?id=' + str(self.request.get('id')))
def post(self): user = self.getAuthentificatedUser() if not user: return try: id = int(self.request.get('id')) topic = Topic().get(db.Key.from_path('Topic', id)) except: self.redirect('/') return post = Post(parent=topic.key()) post.topic = topic if users.get_current_user(): post.author = users.get_current_user() body = db.Text(strip_ml_tags(self.request.get('body'))) postmarkup = create(use_pygments=False) post.body = postmarkup(body) # replace('\n','<br />') if post.body != '': post.put() #mailAdditionalText = """ ... testing e-mail notification. Sorry if you get this message accidently.""" #post.sendMailToAll(user.email(), mailAdditionalText) ##### #message = mail.EmailMessage(sender=user.email(), subject="New message in small-forum") #message.to = "log1 (sms) <*****@*****.**>" #message.body = post.body #message.send() ##### # To Do if self.request.get('page'): self.redirect('/view?id=' + str(self.request.get('id')) + '&page=' + self.request.get('page')) else: self.redirect('/view?id=' + str(self.request.get('id')))
def post(self): user = self.getAuthentificatedUser() if not user: return userData = self.getUser(self.user) userData.name = strip_ml_tags(self.request.get('name')) userData.lastName = strip_ml_tags(self.request.get('lastName')) userData.cameFrom = strip_ml_tags(self.request.get('from')) userData.webpage = self.request.get('webpage') if self.request.get('avatar'): try: avatar = db.Blob(images.resize(self.request.get('avatar'), 100, 100)) userData.avatar = avatar except: pass userData.put() self.redirect('/myProfile')
def post(self): if self.checkIfAuthentificatedUserIsAdmin(): name = strip_ml_tags(self.request.get('name')) if name != '': thread = Thread() thread.name = name thread.position = int(self.request.get('position')) thread.put() self.redirect('/?mode=admin')
def post(self): if self.checkIfAuthentificatedUserIsAdmin(): id = int(self.request.get('id')) try: thread = Thread.get(db.Key.from_path('Thread', int(id))) name = strip_ml_tags(self.request.get('name')) if name != '': thread.name = name thread.put() except: pass self.redirect('/?mode=admin')
def post(self): user = self.getAuthentificatedUser() forum = self.getForumInstance() whatTextSearchFor = strip_ml_tags(self.request.get('text')) whereSearch = self.request.get('where') #self.response.out.write(whatTextSearchFor + ' .. ' + str(whereSearch)) # where to find results? in fourm, thread or single topic # can i do it simpler ? kind = None if int(whereSearch) == 0: kind = 'Forum' if not kind: try: baseEntity = db.get(db.Key.from_path('Thread', int(whereSearch))) kind = baseEntity.kind() except: pass if not kind: try: baseEntity = db.get(db.Key.from_path('Topic', int(whereSearch))) kind = baseEntity.kind() except: pass #self.response.out.write(kind) if kind == 'Topic': self.postKeys = self.searchTextInTopic(baseEntity, whatTextSearchFor) elif kind == 'Thread': for topic in baseEntity.topics: self.postKeys.extend(self.searchTextInTopic(topic, whatTextSearchFor)) else: # search whole forum for thread in self.getThreads(): for topic in thread.topics: self.postKeys.extend(self.searchTextInTopic(topic, whatTextSearchFor)) #self.response.out.write(self.postKeys) #posts = list() #for key in self.postKeys: #x = Post.get(db.Key.from_path('Post', int(key))) #print x.kind() #posts.append(Post.get(db.Key.from_path('Post', int(key)))) #print posts template_values = { 'url' : users.CreateLogoutURL(self.request.uri), 'user' : user.nickname(), 'forum' : forum, 'results' : self.postKeys, } path = os.path.join(os.path.dirname(__file__), os.path.join('templates', 'viewSearchResults.htm')) self.response.out.write(template.render(path, template_values)) '''search in topic only
def get(self): try: n = int(self.request.get('n')) except: n = 20 forum = self.getForumInstance() posts = self.getLastPosts(n) try: for post in posts: post.body = strip_ml_tags(post.body) except: pass template_values = { 'forum' : forum, 'selfurl' : self.request.host_url, 'posts' : posts, } self.response.headers['Content-Type'] = 'text/xml' path = os.path.join(os.path.dirname(__file__), os.path.join('templates', 'rss2.xml')) self.response.out.write(template.render(path, template_values))
def post(self): user = self.getAuthentificatedUser() if not user: return jid = self.request.get('jid') # check if jid ends with 'gmail.com' if jid[-10:] != '@gmail.com': return body = strip_ml_tags(self.request.get('body')) if jid != '' and body != '': end = """ . This message was sent using small forum for GAE form http://small-forum.appspot.com/ """ body += end sender = user.email() try: if sender[-10:] == '@gmail.com': xmpp.send_message(jid, body) else: xmpp.send_message(jid, body, from_jid=sender) except: print 'error' print 'OK, done'