当前位置: 首页>>代码示例>>Python>>正文


Python Comment.put方法代码示例

本文整理汇总了Python中model.Comment.put方法的典型用法代码示例。如果您正苦于以下问题:Python Comment.put方法的具体用法?Python Comment.put怎么用?Python Comment.put使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在model.Comment的用法示例。


在下文中一共展示了Comment.put方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: post

# 需要导入模块: from model import Comment [as 别名]
# 或者: from model.Comment import put [as 别名]
    def post(self, post_slug=""):
        if post_slug:
            t_values = {}

            post_id = self.request.POST['post_id']
            post = Entry.get_by_id(long(post_id))
            if post:
                # ok, we find the post, try to add comment to this post
                logging.warning("find one post with post_id %s" % (post_id))
                t_values['post'] = post
                # dump(post)

                # check google recaptcha, these two fileds might not exist due to connection to reCAPTCHA
                recaptcha_challenge_field = self.request.POST.get('recaptcha_challenge_field', "")
                recaptcha_response_field = self.request.POST.get('recaptcha_response_field', "")
                remote_ip = self.request.environ['REMOTE_ADDR']
                private_key = "6LdwFdISAAAAAOYRK7ls3O-kXPTnYDEstrLM2MRo"
                antispam_flag = False
                try:
                    result = submit(recaptcha_challenge_field, recaptcha_response_field, private_key, remote_ip)
                    logging.info("google recaptcha %s, %s" % (result.is_valid, result.error_code))
                    if result.is_valid:
                        antispam_flag = True
                except:
                    e = sys.exc_info()[0]
                    logging.info(e)

                # create comment for this post
                if antispam_flag:
                    logging.info("PostManager - add comment")
                    comm_author = self.request.POST['author']
                    comm_email = self.request.POST['email']
                    comm_weburl = self.request.POST['weburl']
                    comm_content = self.request.POST['comment']
                    comment_ip = self.request.environ['REMOTE_ADDR']
                    comm = Comment(entry=post, author=comm_author, email=comm_email, weburl=comm_weburl, content=comm_content, ip=comment_ip)
                    comm.put()
                    t_values['alert_message'] = "Thanks %s for your comment!" % (comm_author)
                else:
                    logging.warning("comment ignored because antispam failed")
                    t_values['alert_message'] = "Sorry, your comment was ignored because of reCAPTCHA failure!"

                # find all comments
                comments = Comment.all().filter("entry =", post).order("date")
                logging.info("PostHandler, post, find %d comments" % (comments.count()))
                if post_id:
                    # only update commentcount when new comment is added
                    post.commentcount = comments.count()
                    post.put()
                t_values['comments'] = comments
            else:
                logging.warning("post_id %s does not exist" % (post_id))

            links = Link.all().order("date")
            t_values['links'] = links

            categories = Category.all()
            t_values['categories'] = categories
    
            pages = Entry.all().filter("is_external_page =", True).filter("entrytype =", 'page').order("date")
            t_values['pages'] = pages

            return self.response.out.write(render_template("post.html", t_values, "basic", False))
        else:
            self.redirect(uri_for("weblog.index"))
开发者ID:loongw,项目名称:another-gae-blog,代码行数:67,代码来源:weblog.py

示例2: post

# 需要导入模块: from model import Comment [as 别名]
# 或者: from model.Comment import put [as 别名]
    def post(self, photo_id=0):
        '''Adding a new comment to a photo.'''
        user_id, user = self.get_user()
        if not user:
            self.redirect('/')
            return

        photo_id = int(photo_id)
        comment = self.request.get('comment-text')
        #comment = escape(comment)

        logging.info(photo_id)

        photo = Photo.get_by_id(photo_id)
        new_comment = Comment(
            photo=photo.key,
            user=user.key,
            text=comment
        )
        new_comment.put()

        # keep track of the total number of comments
        photo.comment_count += 1
        photo.put()

        # send an email to the photographer and commentators, letting them
        # know of the new comment
        to = self._email_addresses(photo, user)

        if not to:
            # the commentator is also the photographer and there are
            # no comments from other users - no email to send.
            logging.info('Comment made, but no need to send email.')
            self.redirect(self.request.path)
            return

        body = (
            'Someone has made a comment on a photograph.'
            '\n\n'
            'From: {}\n\n'
            '{}'  # comment
            '\n\n'
            "The following link will take you to the photograph's page.\n"
            'http://prelude-hmpc.appspot.com/photo/{}'
        )
        body = body.format(user.username, comment, photo_id)

        try:
            email = mail.EmailMessage(
                sender='HMPC Bot <[email protected]>',
                subject='HMPC: New photograph comment',
                bcc=to,
                body=body
            )
            email.send()
        except OverQuotaError, msg:
            logging.error(msg)
            # send a message to admin (me) then I can forward to users
            new_body = body + '\n\nSend to:\n' + ', '.join(to)
            mail.send_mail_to_admins(
                sender='HMPC Bot <[email protected]>',
                subject='HMPC: New photograph comment (over quota)',
                body=new_body
            )
开发者ID:PreludeAndFugue,项目名称:prelude-hmpc,代码行数:66,代码来源:photo.py

示例3: post

# 需要导入模块: from model import Comment [as 别名]
# 或者: from model.Comment import put [as 别名]
 def post(self, nodeid, topicid):
     if self.cur_user and self.cur_user.flag>1:
         author = self.cur_user.name
         content = self.POST['content']
         
         if content and len(content)<=COMMENT_MAX_S:
             int_time = int(time())
             
             #check spam
             mi_obj = MemberInfo.get_or_insert(author)
             if mi_obj.replyt:
                 t_list = mi_obj.replyt.split(',')
                 if len(t_list) == MEMBER_RECENT_REPLY and (int_time-int(t_list[-1])) < 3600:
                     self.write(u'403:不要回复太频繁了 <a href="/t-%s-%s">请返回</a>' % (nodeid, topicid))
                     return
             
             #check repeat
             content = textilize(content)
             #content = safe_encode(content)
             con_md5 = md5(content.encode('utf-8')).hexdigest()
             if memcache.get('c_'+con_md5):
                 self.write(u'403:请勿灌水 <a href="/t-%s-%s">请返回</a>' % (nodeid, topicid))
                 return
             else:
                 memcache.set('c_'+con_md5, '1', 36000)
             
             topic_key = '%s-%s' % (nodeid, topicid)
             t_obj = Topic.get_by_key_name(topic_key)
             if not t_obj:
                 self.error(404)
                 self.write('404: not found')
                 return
             
             if t_obj.cnum:
                 id_num = t_obj.cnum + 1
             else:
                 id_num = 1
             
             c_key = '%s-%d' % (topic_key, id_num)
             c_obj = Comment(key_name=c_key)
             c_obj.author = author
             c_obj.add = int_time
             c_obj.con = content
             c_obj.put()
             if c_obj.is_saved():
                 #topic commont count +1
                 t_obj.cnum = id_num
                 t_obj.reply = author
                 t_obj.edit = int_time
                 db.run_in_transaction(obj_runput,t_obj)
                 #memberinfo
                 mi_obj.replyn += 1
                 if mi_obj.replyk:
                     t_list = mi_obj.replyk.split(',')
                     if topic_key in t_list:
                         t_list.remove(topic_key)
                     t_list.insert(0, topic_key)
                     mi_obj.replyk = ','.join(t_list[:MEMBER_RECENT_REPLY])
                 else:
                     mi_obj.replyk = topic_key
                     
                 if mi_obj.replyt:
                     t_list = mi_obj.replyt.split(',')
                     t_list.insert(0, str(int_time))
                     mi_obj.replyt = ','.join(t_list[:MEMBER_RECENT_REPLY])
                 else:
                     mi_obj.replyt = str(int_time)
                 db.run_in_transaction(obj_runput,mi_obj,['reply_objs:'+author])
                 #recent reply +key
                 hi_obj = KeyStrValue.get_or_insert('recent-reply-topic')
                 if hi_obj.value:
                     t_list = hi_obj.value.split(',')
                     if topic_key in t_list:
                         t_list.remove(topic_key)
                     t_list.insert(0, topic_key)
                     hi_obj.value = ','.join(t_list[:RECENT_COMMENT_NUM])
                     db.run_in_transaction(obj_runput,hi_obj,['get_topic_key_title:recent-reply-topic'])
                 else:
                     hi_obj.value = topic_key
                     db.run_in_transaction(obj_runput,hi_obj,['get_topic_key_title:recent-reply-topic'])
                 #all reply counter +1
                 at_obj = Counter.get_or_insert('all-reply-num', name = 'all-reply-num')
                 at_obj.value += 1
                 db.run_in_transaction(obj_runput,at_obj)
                 #notifications
                 if t_obj.author != author:
                     mentions = findall_mentions(c_obj.con+' @%s '%t_obj.author, author)
                 else:
                     mentions = findall_mentions(c_obj.con, author)
                 
                 if mentions:
                     deferred.defer(set_mentions, topic_key, ','.join(mentions), _countdown=8, _queue="default")
                 
                 #del cache
                 cache_keys = []
                 hi_obj = KeyStrValue.get_or_insert('recent-topic-home')
                 if hi_obj.value:
                     if topic_key in hi_obj.value.split(','):
                         cache_keys.append('get_topic_objs:recent-topic-home')
                 
#.........这里部分代码省略.........
开发者ID:QiaoHaiZhong,项目名称:rebang,代码行数:103,代码来源:view.py


注:本文中的model.Comment.put方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。