示例#1
0
文件: referer.py 项目: XinMa1/work
    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"))
示例#2
0
文件: referer.py 项目: XinMa1/work
    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")
示例#3
0
 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)
示例#5
0
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]))