class article_monitor(monitor): def __init__(self,board_id,article_id): threading.Thread.__init__(self) monitor.__init__(self) self.article_id = article_id self.board_id = board_id self.obj_article = Article(board_id=board_id,article_id=article_id) def send_article_info(self): log.debug("Broadcast Article") dict_data = {} dict_data['board_id'] = self.board_id dict_data['article_id'] = self.article_id dict_data['author'] = self.obj_article.author dict_data['publish_time'] = self.obj_article.publish_time dict_data['content'] = self.obj_article.content # print dict_data self.send("ptt_article",json.dumps(dict_data)) def run(self): self.send_article_info() int_pre_reply_length = 0 while True: self.obj_article.refresh() int_cur_reply_length = len(self.obj_article.reply_list) if int_cur_reply_length > int_pre_reply_length: log.info("Get {count} new reply".format(count=(int_cur_reply_length - int_pre_reply_length))) for reply in self.obj_article.reply_list[int_pre_reply_length:int_cur_reply_length-1]: reply['article_id'] = self.article_id reply['board_id'] = self.board_id self.send("ptt_reply",json.dumps(reply)) int_pre_reply_length = int_cur_reply_length time.sleep(10)
def __init__(self,board_id,article_id): threading.Thread.__init__(self) monitor.__init__(self) self.article_id = article_id self.board_id = board_id self.obj_article = Article(board_id=board_id,article_id=article_id)