本文整理汇总了Python中model.Comment.add方法的典型用法代码示例。如果您正苦于以下问题:Python Comment.add方法的具体用法?Python Comment.add怎么用?Python Comment.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类model.Comment
的用法示例。
在下文中一共展示了Comment.add方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: post
# 需要导入模块: from model import Comment [as 别名]
# 或者: from model.Comment import add [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')
#.........这里部分代码省略.........