def article(article_id=None): """ Presents an article. """ art_contr = ArticleController(current_user.id) article = art_contr.get(id=article_id) if not article.readed: art_contr.update({"id": article.id}, {"readed": True}) return render_template("article.html", head_titles=[clear_string(article.title)], article=article)
def get_article(article_id, parse=False): locale = get_locale() contr = ArticleController(current_user.id) article = contr.get(id=article_id) if not article.readed: article["readed"] = True contr.update({"id": article_id}, {"readed": True}) article["category_id"] = article.category_id or 0 feed = FeedController(current_user.id).get(id=article.feed_id) article["icon_url"] = ( url_for("icon.icon", url=feed.icon_url) if feed.icon_url else None ) article["date"] = format_datetime(localize(article.date), locale=locale) return article
def like(article_id=None): """ Mark or unmark an article as favorites. """ art_contr = ArticleController(current_user.id) article = art_contr.get(id=article_id) art_contr = art_contr.update({"id": article_id}, {"like": not article.like}) return redirect(redirect_url())
def mark_as(new_value="read", feed_id=None, article_id=None): """ Mark a single article or all articles of a feed as read/unread. """ readed = new_value == "read" art_contr = ArticleController(current_user.id) filters = {"readed": not readed} if feed_id is not None: filters["feed_id"] = feed_id message = "Feed marked as %s." elif article_id is not None: filters["id"] = article_id message = "Article marked as %s." else: message = "All article marked as %s." art_contr.update(filters, {"readed": readed}) flash(gettext(message % new_value), "info") # if readed: # return redirect(redirect_url()) return redirect(url_for("home"))
def mark_all_as_read(): filters = _get_filters(request.json) acontr = ArticleController(current_user.id) processed_articles = _articles_to_json(acontr.read_light(**filters)) acontr.update(filters, {"readed": True}) return processed_articles
def redirect_to_article(article_id): contr = ArticleController(current_user.id) article = contr.get(id=article_id) if not article.readed: contr.update({"id": article.id}, {"readed": True}) return redirect(article.link)