本文整理汇总了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"))
示例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
)
示例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')
#.........这里部分代码省略.........