def __get_question_list(self): question_list = [SqlClass.wrap('question', x) for x in SqlClass.get_result_list(self.book_info['question'])] answer_list = [SqlClass.wrap('answer', x) for x in SqlClass.get_result_list(self.book_info['answer'])] def merge_answer_into_question(): question_dict = {x['question_id']: {'question': x.copy(), 'answer_list': [], 'agree': 0} for x in question_list} for answer in answer_list: question_dict[answer['question_id']]['answer_list'].append(answer) return question_dict.values() def add_property(question): agree_count = 0 char_count = 0 for answer in question['answer_list']: answer['char_count'] = len(answer['content']) answer['agree_count'] = answer['agree'] answer['update_date'] = answer['edit_date'] agree_count += answer['agree'] char_count += answer['char_count'] question['answer_count'] = len(question['answer']) question['agree_count'] = agree_count question['char_count'] = char_count return question question_list = [add_property(x) for x in merge_answer_into_question()] return question_list
def __get_article_list(self): def add_property(article): article['char_count'] = len(article['content']) article['agree_count'] = article['agree'] article['update_date'] = article['publish_date'] article['answer_count'] = 1 return article article_list = [SqlClass.wrap('article', x) for x in SqlClass.get_result_list(self.raw_info['answer'])] article_list = [add_property(x) for x in article_list] return article_list