Example #1
0
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)
Example #2
0
 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)