def search_list(self): """ 文章搜索列表 :return: """ inputs = self.get_input() page = int(inputs.get('page', 1)) page_size = int(inputs.get('page_size', 20)) keywords = inputs.get('keywords', None) self.private_data['article_list'] = [] self.private_data['current_page'] = 1 self.private_data['total_page'] = 0 self.private_data['category_list'] = [] self.private_data['keywords'] = keywords try: category_list = Categories.select().where(Categories.status == 0). \ order_by(Categories.id.desc()) if keywords: article_query = Articles.select().where( Articles.name.contains(keywords)) total_count = article_query.count() total_page = (total_count + page_size - 1) / page_size self.private_data['total_page'] = total_page self.private_data['current_page'] = page self.private_data['category_list'] = category_list self.private_data['article_list'] = article_query.\ paginate(page, page_size) return self.display('front/search_list') except Exception as e: log.info('Failed to get search result. Keywords is %s. Error msg is', keywords, e) log.error(traceback.format_exc()) return self.display('front/search_list')
def search(self): inputParams = self.getInput() keywords = inputParams["keywords"].strip().lower() if inputParams.has_key("keywords") else "" page = int(inputParams["page"]) if inputParams.has_key("page") else 1 count = config.COUNT_PER_PAGE articlesList = Articles.select().where(Articles.name.contains(keywords)) pageString = self.getPageStr(self.makeUrl("/admin/articles/list"), page, count, articlesList.count()) articlesList = articlesList.order_by(Articles.id.desc()) self.privData["ARTICLES_LIST"] = articlesList.paginate(page, page + count) self.privData["PAGE_STRING"] = pageString self.privData["ARTICLES_LIST"] = articlesList return self.display("articlesList")
def list(self): inputParams = self.getInput() page = int(inputParams["page"]) if inputParams.has_key("page") else 1 count = config.COUNT_PER_PAGE articlesList = Articles.select() pageString = self.getPageStr(self.makeUrl("/admin/articles/list"), page, count, articlesList.count()) articlesList = articlesList.order_by(Articles.id.desc()) self.privData["ARTICLES_LIST"] = articlesList.paginate(page, page + count) self.privData["PAGE_STRING"] = pageString self.privData["ARTICLES_LIST"] = articlesList return self.display("articlesList")
def get_articles_center(self): inputs = self.get_input() try: page = int(inputs['page']) if inputs.has_key('page') else 1 category_id = inputs['category_id'] articles = Articles.select().where( Articles.category == category_id).order_by(Articles.id.desc()) return json.dumps([{ 'id': it.id, 'name': it.name, 'thumbnail': it.thumbnail.thumbnail, 'content': self.htmlunquote(it.content), } for it in articles.paginate(page, PAGINATE_COUNT_10)]) except Exception as e: log.error('get_articles_center%s' % traceback.format_exc()) return self.error()
def article_tag_list(self): """标签下文章列表:return:""" inputs = self.get_input() tag = inputs.get('tag', None) self.private_data['category_list'] = [] self.private_data['tag'] = tag self.private_data['article_list'] = [] try: category_list = Categories.select().where(Categories.status == 0).\ order_by(Categories.id.desc()) if tag: article_query = Articles.select().where(Articles.keywords.contains(tag)) self.private_data['category_list'] = category_list self.private_data['article_list'] = article_query.paginate(1, 20) return self.display('front/tags_list') except Exception as e: log.info('Failed to get search result.tag is%s.Error msg is', tag, e) log.error(traceback.format_exc()) return self.display('front/tags_list') \
def get_tags(self): db = TinyDB('settings/db.json') table = db.table('_default') res = table.get(where('name') == 'tags') if res: data = res.get("data") tags_dict_list = json.loads(data) else: tags_list = Tags.select().where(Tags.status == 0) tags_dict_list = [] for tag in tags_list: count = Articles.select().where( Articles.keywords.contains(str(tag.name))).count() tags_dict_list.append({tag.name: count}) db.truncate() table = db.table('_default') table.insert({"name": "tags", "data": json.dumps(tags_dict_list)}) db.close() return tags_dict_list
def articles(self): inputs = self.get_input() page = int(inputs.get('page', 1)) page_size = int(inputs.get('page_size', 20)) self.private_data['current_page'] = page self.private_data['total_page'] = 0 self.private_data['article_list'] = [] try: article_query = Articles.select().where(Articles.status == 0) \ .order_by(Articles.id.asc()) total_count = article_query.count() total_page = (total_count + page_size - 1) / page_size self.private_data['total_page'] = total_page self.private_data['article_list'] = \ article_query.paginate(page, page_size).execute() return self.display('admin/article_list') except Exception as e: log.error('Failed to get article list data. Error msg %s', e) log.error(traceback.format_exc()) return self.display('admin/article_list')
def GET(self): """ 首页 :return: """ inputs = self.get_input() page = int(inputs.get('page', 1)) page_size = int(inputs.get('page_size', 20)) self.private_data['article_list'] = [] self.private_data['current_page'] = 1 self.private_data['total_page'] = 0 self.private_data['category_list'] = [] try: album = Albums.get(Albums.is_show == 1) images = Images.select().where(Images.status == 0, Images.album == album.id) images_dict_list = [] for image in images.dicts().iterator(): image_dict = { 'link': image.get("link"), 'url': config.WEB_URL + 'static/uploads/' + image.get("uuid") + '.jpeg' } images_dict_list.append(image_dict) category_list = Categories.select().where( Categories.status == 0). \ order_by(Categories.id.desc()) article_query = Articles.select().where(Articles.status == 0). \ order_by(Articles.id.desc()) article_list = article_query.paginate(page, page_size) total_count = article_query.count() total_page = (total_count + page_size - 1) / page_size self.private_data['article_list'] = article_list.execute() self.private_data['current_page'] = page self.private_data['total_page'] = total_page self.private_data['images_list'] = images_dict_list self.private_data['category_list'] = category_list.execute() except Exception as e: log.error('Failed to get home data. Error msg %s', e) log.error(traceback.format_exc()) return self.display('front/index')
def articles(self): """ 文章分类列表 :return: """ inputs = self.get_input() page = int(inputs.get('page', 1)) page_size = int(inputs.get('page_size', 20)) category_id = int(inputs.get('category_id', 2)) self.private_data['article_list'] = [] self.private_data['current_page'] = 1 self.private_data['total_page'] = 0 self.private_data['category_list'] = [] self.private_data['current_category'] = None try: category = Categories.get(Categories.id == category_id) category_list = Categories.select().where(Categories.status == 0).\ order_by(Categories.id.desc()) article_query = Articles.select().where( Articles.category == category.id).order_by(Articles.id.desc()) article_list = article_query.paginate(page, page_size) total_count = article_query.count() total_page = (total_count + page_size - 1) / page_size self.private_data['article_list'] = article_list self.private_data['current_category'] = category self.private_data['current_page'] = page self.private_data['category_list'] = category_list self.private_data['total_page'] = total_page return self.display('front/article_list') except Exception as e: log.error('Failed to get category articles data. ' 'Category_id is %s Error msg %s', category_id, e) log.error(traceback.format_exc()) # return self.error(msg="获取列表信息失败!", url=self.make_url('/views/home')) return self.display('front/article_list')