def issue_feed(url_seg, url_seg_issue): issue = controllers.get_issue_by_url_seg(url_seg, url_seg_issue) if not issue: abort(404, _('Fascículo não encontrado')) if not issue.is_public: abort(404, ISSUE_UNPUBLISH + _(issue.unpublish_reason)) if not issue.journal.is_public: abort(404, JOURNAL_UNPUBLISH + _(issue.journal.unpublish_reason)) journal = issue.journal articles = controllers.get_articles_by_iid(issue.iid, is_public=True) feed = AtomFeed(journal.title or "", feed_url=request.url, url=request.url_root, subtitle=utils.get_label_issue(issue)) # ######### TODO: Revisar/Melhorar/Consertar ######### try: feed_language = session['lang'][:2].lower() except Exception as e: feed_language = 'pt' for article in articles: # ######### TODO: Revisar ######### article_lang = feed_language if feed_language not in article.languages: article_lang = article.original_language feed.add(article.title or 'Unknow title', render_template("issue/feed_content.html", article=article), content_type='html', author=article.authors, url=url_external('main.article_detail', url_seg=journal.url_segment, url_seg_issue=issue.url_segment, url_seg_article=article.url_segment, lang_code=article_lang), updated=journal.updated, published=journal.created) return feed.get_response()
def journal_feed(url_seg): journal = controllers.get_journal_by_url_seg(url_seg) if not journal: abort(404, _("Periódico não encontrado")) if not journal.is_public: abort(404, JOURNAL_UNPUBLISH + _(journal.unpublish_reason)) issues = controllers.get_issues_by_jid(journal.jid, is_public=True) last_issue = issues[0] if issues else None articles = controllers.get_articles_by_iid(last_issue.iid, is_public=True) feed = AtomFeed( journal.title, feed_url=request.url, url=request.url_root, subtitle=utils.get_label_issue(last_issue) ) # ######### TODO: Revisar/Melhorar/Consertar ######### try: feed_language = session["lang"][:2].lower() except Exception, e: feed_language = "pt"
def issue_feed(url_seg, url_seg_issue): issue = controllers.get_issue_by_url_seg(url_seg, url_seg_issue) if not issue: abort(404, _("Fascículo não encontrado")) if not issue.is_public: abort(404, ISSUE_UNPUBLISH + _(issue.unpublish_reason)) if not issue.journal.is_public: abort(404, JOURNAL_UNPUBLISH + _(issue.journal.unpublish_reason)) journal = issue.journal articles = controllers.get_articles_by_iid(issue.iid, is_public=True) feed = AtomFeed( journal.title or "", feed_url=request.url, url=request.url_root, subtitle=utils.get_label_issue(issue) ) # ######### TODO: Revisar/Melhorar/Consertar ######### try: feed_language = session["lang"][:2].lower() except Exception, e: feed_language = "pt"