def delete(self): inputParams = self.getInput() try: current_user = Users.get(Users.name == self.isLogin()) if not self.isAdmin(): return self.error(msg="权限不足!", url=self.makeUrl("/admin/articles/list")) article = Articles.get(Articles.id == int(inputParams["id"])) article.delete_instance() except Exception, e: return self.error(msg="删除文章失败: %s" % e, url=self.makeUrl("/admin/articles/list"))
def edit(self): inputParams = self.getInput() userName = self.isLogin() if userName != "admin": return self.error(msg="权限不足!", url=self.makeUrl("/admin/articles/list")) articleID = int(inputParams["id"]) article = Articles.get(Articles.id == articleID) self.privData["ARTICLE"] = article user = Users.get(Users.name == userName) albumsList = Albums().select().where(Albums.owner == user.id) imagesList = Images().select().where(Images.owner == user.id) categoriesList = Categories().select() # 确认当前用户是否至少有一个包含图片的专辑 if not albumsList.count(): return self.error(msg="请创建至少一个专辑!", url=self.makeUrl("/admin/albums/list")) if not imagesList.count(): return self.error(msg="请创建至少一个图片!", url=self.makeUrl("/admin/images/list")) # 分类列表 self.privData["CATEGORIES_LIST"] = categoriesList # 构建{album: images}, 同时排除不包括任何图片的专辑 album_images_map = {} excluded_albums = [] for album in albumsList: album_images = imagesList.where(Images.album == album.id) if album_images.count(): album_images_map[album.id] = album_images else: excluded_albums.append(album.id) self.privData["ALBUMS_LIST"] = [album for album in albumsList if album.id not in excluded_albums] self.privData["IMG_ALBUMS_LIST"] = album_images_map self.privData["CURRENT_ARTICLE"] = article self.privData["CURRENT_ALBUM"] = article.thumbnail.album self.privData["CURRENT_IMG"] = article.thumbnail self.privData["SUBMIT_NAME"] = "thumbnail" return self.display("articleEdit")
def article_info(self): """ 文章详情信息 :return: """ inputs = self.get_input() article_id = int(inputs.get('article_id', 1)) self.private_data['article'] = None self.private_data['category_list'] = [] try: category_list = Categories.select().where(Categories.status == 0). \ order_by(Categories.id.desc()).execute() article = Articles.get(Articles.id == article_id) self.private_data['article'] = article self.private_data['category_list'] = category_list return self.display('front/article_info') except Exception as e: log.info('Failed to get article info. Article id is %s. Error msg ' 'is', article_id, e) log.error(traceback.format_exc()) return self.display('front/article_info')
def articles_show(feed_id, article_id): article = Articles.get(feed_id, article_id) if article is None: abort(404) else: return json.dumps(article)
def by_article(feed_id, article_id): article = Articles.get(feed_id, article_id) articles = Articles.articles_for_feed(feed_id) rank = ArticleRecommender(article['classification'], articles) return json.dumps(rank.recommend(10, exclude_ids=[article_id]))