diff options
-rwxr-xr-x | source/pyAggr3g470r.py | 90 | ||||
-rw-r--r-- | source/templates/article.html | 61 |
2 files changed, 66 insertions, 85 deletions
diff --git a/source/pyAggr3g470r.py b/source/pyAggr3g470r.py index 43023a1a..a8659e1a 100755 --- a/source/pyAggr3g470r.py +++ b/source/pyAggr3g470r.py @@ -451,40 +451,21 @@ class pyAggr3g470r(object): article = self.mongo.get_article(feed_id, article_id) except: return self.error_page("Bad URL. This article do not exists.") - html = htmlheader(article["article_title"]) - html += htmlnav - html += """<div>""" if article["article_readed"] == False: # if the current article is not yet readed, update the database self.mark_as_read("Article:"+article["article_id"]+":"+feed["feed_id"]) - html += '\n<div style="width: 50%; overflow:hidden; text-align: justify; margin:0 auto">\n' - # Title of the article - html += """<h1><i>%s</i> from <a href="/feed/%s">%s</a></h1>\n<br />\n""" % \ - (article["article_title"], feed_id, feed["feed_title"]) - if article["article_like"] == True: - html += """<a href="/like/0:%s:%s"><img src="/img/heart.png" title="I like this article!" /></a>""" % \ - (feed_id, article["article_id"]) - else: - html += """<a href="/like/1:%s:%s"><img src="/img/heart_open.png" title="Click if you like this article." /></a>""" % \ - (feed_id, article["article_id"]) - html += """ <a href="/delete_article/%s:%s"><img src="/img/cross.png" title="Delete this article" /></a>""" % \ - (feed_id, article["article_id"]) - html += "<br /><br />" - # Description (full content) of the article description = article["article_content"] if description: p = re.compile(r'<code><') q = re.compile(r'></code>') - description = p.sub('<code><', description) description = q.sub('></code>', description) - - html += description + "\n<br /><br /><br />" + description = description + "\n<br /><br /><br />" else: - html += "No description available.\n<br /><br /><br />" + description += "No description available.\n<br /><br /><br />" """ # Generation of the QR Code for the current article try: @@ -517,70 +498,9 @@ class pyAggr3g470r(object): except StopIteration: previous = liste[0] - html += """<div style="float:right;"><a href="/article/%s:%s" title="%s"><img src="/img/following-article.png" /></a></div>\n""" % \ - (feed_id, following["article_id"], following["article_title"]) - html += """<div style="float:left;"><a href="/article/%s:%s" title="%s"><img src="/img/previous-article.png" /></a></div>\n""" % \ - (feed_id, previous["article_id"], previous["article_title"]) - - html += "\n</div>\n" - - # Footer menu - html += "<hr />\n" - html += """\n<a href="/plain_text/%s:%s">Plain text</a>\n""" % (feed_id, article["article_id"]) - html += """ - <a href="/epub/%s:%s">Export to EPUB</a>\n""" % (feed_id, article["article_id"]) - html += """<br />\n<a href="%s">Complete story</a>\n<br />\n""" % (article["article_link"],) - - # Share this article: - html += "Share this article:<br />\n" - # on Diaspora - html += """<a href="javascript:(function(){f='https://%s/bookmarklet?url=%s&title=%s&notes=%s&v=1&';a=function(){if(!window.open(f+'noui=1&jump=doclose','diasporav1','location=yes,links=no,scrollbars=no,toolbar=no,width=620,height=250'))location.href=f+'jump=yes'};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})()">\n\t - <img src="/img/diaspora.png" title="Share on Diaspora" /></a>\n""" % \ - (conf.DIASPORA_POD, article["article_link"], article["article_title"], "via pyAggr3g470r") - - # on Identi.ca - html += """\n\n<a href="http://identi.ca/index.php?action=newnotice&status_textarea=%s: %s" title="Share on Identi.ca" target="_blank"><img src="/img/identica.png" /></a>""" % \ - (article["article_title"], article["article_link"]) - - # on Hacker News - html += """\n\n<a href='javascript:window.location="http://news.ycombinator.com/submitlink?u="+encodeURIComponent("%s")+"&t="+encodeURIComponent("%s")'><img src="/img/hacker-news.png" title="Share on Hacker News" /></a>""" % \ - (article["article_link"], article["article_title"]) - - # on Pinboard - html += """\n\n\t<a href="https://api.pinboard.in/v1/posts/add?url=%s&description=%s" - rel="noreferrer" target="_blank">\n - <img src="/img/pinboard.png" title="Share on Pinboard" /></a>""" % \ - (article["article_link"], article["article_title"]) - - # on Digg - html += """\n\n\t<a href="http://digg.com/submit?url=%s&title=%s" - rel="noreferrer" target="_blank">\n - <img src="/img/digg.png" title="Share on Digg" /></a>""" % \ - (article["article_link"], article["article_title"]) - # on reddit - html += """\n\n\t<a href="http://reddit.com/submit?url=%s&title=%s" - rel="noreferrer" target="_blank">\n - <img src="/img/reddit.png" title="Share on reddit" /></a>""" % \ - (article["article_link"], article["article_title"]) - # on Scoopeo - html += """\n\n\t<a href="http://scoopeo.com/scoop/new?newurl=%s&title=%s" - rel="noreferrer" target="_blank">\n - <img src="/img/scoopeo.png" title="Share on Scoopeo" /></a>""" % \ - (article["article_link"], article["article_title"]) - # on Blogmarks - html += """\n\n\t<a href="http://blogmarks.net/my/new.php?url=%s&title=%s" - rel="noreferrer" target="_blank">\n - <img src="/img/blogmarks.png" title="Share on Blogmarks" /></a>""" % \ - (article["article_link"], article["article_title"]) - - # Google +1 button - html += """\n\n<g:plusone size="standard" count="true" href="%s"></g:plusone>""" % \ - (article["article_link"],) - - - # QRCode (for smartphone) - html += """<br />\n<a href="/var/qrcode/%s.png"><img src="/var/qrcode/%s.png" title="Share with your smartphone" width="500" height="500" /></a>""" % (article_id, article_id) - html += "<hr />\n" + htmlfooter - return html + tmpl = lookup.get_template("article.html") + return tmpl.render(article=article, previous=previous, following=following, \ + diaspora=conf.DIASPORA_POD, feed=feed, description=description) article.exposed = True diff --git a/source/templates/article.html b/source/templates/article.html new file mode 100644 index 00000000..110442f6 --- /dev/null +++ b/source/templates/article.html @@ -0,0 +1,61 @@ +## article.html +<%inherit file="base.html"/> +<h1><div class="right innerlogo"><a href="/"><img src="/img/tuxrss.png" title="What's new today?"/></a> +</div><a name="top"><a href="/">pyAggr3g470r - News aggregator</a></a></h1> +<a href="http://bitbucket.org/cedricbonhomme/pyaggr3g470r/" rel="noreferrer" target="_blank">pyAggr3g470r (source code)</a> +<div> + <div style="width: 50%; overflow:hidden; text-align: justify; margin:0 auto"> + <h1><i>${article["article_title"]}</i> from <a href="/feed/${feed['feed_id']}">${feed["feed_title"]}</a></h1> + <br /> + %if article["article_like"]: + <a href="/like/0:${feed['feed_id']}:${article['article_id']}"><img src="/img/heart.png" title="I like this article!" /></a> + %else: + <a href="/like/1:${feed['feed_id']}:${article['article_id']}"><img src="/img/heart_open.png" title="Click if you like this article." /></a> + %endif + <a href="/delete_article/${feed['feed_id']}:${article['article_id']}"><img src="/img/cross.png" title="Delete this article" /></a> + <br /><br /> + + ${description} + + <div style="float:right;"><a href="/article/${feed['feed_id']}:${following['article_id']}" title="${following['article_title']}"><img src="/img/following-article.png" /></a></div> + <div style="float:left;"><a href="/article/${feed['feed_id']}:${previous['article_id']}" title="${previous['article_title']}"><img src="/img/previous-article.png" /></a></div> + </div> + + <hr /> + <a href="/plain_text/${feed['feed_id']}:${article['article_id']}">Plain text</a> + - <a href="/epub/${feed['feed_id']}:${article['article_id']}">Export to EPUB</a> + <br /> + <a href="${article['article_link']}">Complete story</a> + <br /> + + Share this article:<br /> + <a href="javascript:(function(){f='https://${diaspora}/bookmarklet?url=${article['article_link']}&title=${article['article_title']}&notes=via pyAggr3g470r&v=1&';a=function(){if(!window.open(f+'noui=1&jump=doclose','diasporav1','location=yes,links=no,scrollbars=no,toolbar=no,width=620,height=250'))location.href=f+'jump=yes'};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})()"> + <img src="/img/diaspora.png" title="Share on Diaspora" /></a> + + <a href="http://identi.ca/index.php?action=newnotice&status_textarea=${article['article_title']}:${article['article_link']}" title="Share on Identi.ca" target="_blank"><img src="/img/identica.png" /></a> + + <a href="https://api.pinboard.in/v1/posts/add?url=${article['article_link']}&description=${article['article_title']}" + rel="noreferrer" target="_blank"> + <img src="/img/pinboard.png" title="Share on Pinboard" /></a> + + <a href="http://digg.com/submit?url=${article['article_link']}&title=${article['article_title']}" + rel="noreferrer" target="_blank"> + <img src="/img/digg.png" title="Share on Digg" /></a> + + <a href="http://reddit.com/submit?url=${article['article_link']}&title=${article['article_title']}" + rel="noreferrer" target="_blank"> + <img src="/img/reddit.png" title="Share on reddit" /></a> + + <a href="http://scoopeo.com/scoop/new?newurl=${article['article_link']}&title=${article['article_title']}" + rel="noreferrer" target="_blank"> + <img src="/img/scoopeo.png" title="Share on Scoopeo" /></a> + + <a href="http://blogmarks.net/my/new.php?url=${article['article_link']}&title=${article['article_title']}" + rel="noreferrer" target="_blank"> + <img src="/img/blogmarks.png" title="Share on Blogmarks" /></a> + + <g:plusone size="standard" count="true" href="${article['article_link']}"></g:plusone> + + + <br /> + <a href="/var/qrcode/${article['article_id']}.png"><img src="/var/qrcode/${article['article_id']}.png" title="Share with your smartphone" width="500" height="500" /></a>
\ No newline at end of file |