diff options
-rw-r--r-- | pyaggr3g470r/export.py | 14 | ||||
-rwxr-xr-x | pyaggr3g470r/utils.py | 5 | ||||
-rw-r--r-- | pyaggr3g470r/views.py | 8 |
3 files changed, 15 insertions, 12 deletions
diff --git a/pyaggr3g470r/export.py b/pyaggr3g470r/export.py index 3432e0f3..da63774e 100644 --- a/pyaggr3g470r/export.py +++ b/pyaggr3g470r/export.py @@ -132,29 +132,29 @@ img { margin:1.00em 1.00em; }""" -def export_html(feeds): +def export_html(user): """ - Export the articles given in parameter in a simple Webzine. + Export all articles of 'user' in Web pages. """ webzine_root = conf.PATH + "/pyaggr3g470r/var/export/webzine/" - nb_articles = format(len(models.Article.objects()), ",d") + nb_articles = format(len(models.Article.query.filter(models.Article.user_id == user.id).all()), ",d") index = HTML_HEADER("News archive") index += "<h1>List of feeds</h1>\n" index += """<p>%s articles.</p>\n<ul>\n""" % (nb_articles,) - for feed in feeds: + for feed in user.feeds: # creates a folder for each stream - feed_folder = webzine_root + str(feed.oid) + feed_folder = webzine_root + str(feed.id) try: os.makedirs(feed_folder) except OSError: # directories already exists (not a problem) pass - index += """ <li><a href="%s">%s</a></li>\n""" % (feed.oid, feed.title) + index += """ <li><a href="%s">%s</a></li>\n""" % (feed.id, feed.title) posts = HTML_HEADER(feed.title, "../style.css") posts += """<h1>Articles of the feed <a href="%s">%s</a></h1>\n""" % (feed.site_link, feed.title) - posts += """<p>%s articles.</p>\n""" % (format(len(feed.articles), ",d"),) + posts += """<p>%s articles.</p>\n""" % (format(len(feed.articles.all()), ",d"),) for article in feed.articles: diff --git a/pyaggr3g470r/utils.py b/pyaggr3g470r/utils.py index 1a8a8387..6f0bab33 100755 --- a/pyaggr3g470r/utils.py +++ b/pyaggr3g470r/utils.py @@ -101,8 +101,7 @@ def import_opml(email, opml_file): except: continue - existing_feed = [feed for feed in user.feeds if feed.link == link] - if len(existing_feed) != 0: + if None != Feed.query.filter(Feed.link == link).first(): continue try: @@ -116,7 +115,7 @@ def import_opml(email, opml_file): nb += 1 db.session.commit() - return nb + return nb, len(subscriptions)-nb def clean_url(url): """ diff --git a/pyaggr3g470r/views.py b/pyaggr3g470r/views.py index d0b410ee..81462100 100644 --- a/pyaggr3g470r/views.py +++ b/pyaggr3g470r/views.py @@ -394,11 +394,14 @@ def export_articles(): Export all articles. """ user = User.query.filter(User.id == g.user.id).first() + archive_file, archive_file_name = export.export_html(user) + """ try: archive_file, archive_file_name = export.export_html(user.feeds) except: flash("Error when exporting articles.", 'danger') return redirect(url_for('management')) + """ response = make_response(archive_file) response.headers['Content-Type'] = 'application/x-compressed' response.headers['Content-Disposition'] = 'attachment; filename='+archive_file_name @@ -453,8 +456,9 @@ def management(): opml_path = os.path.join("./pyaggr3g470r/var/", data.filename) data.save(opml_path) try: - nb = utils.import_opml(g.user.email, opml_path) - flash(str(nb) + " feeds imported.", "success") + nb, nb_already = utils.import_opml(g.user.email, opml_path) + flash(str(nb) + " feeds imported (" + str(nb_already) + \ + " already in the database).", "success") except Exception as e: flash("Impossible to import the new feeds.", "danger") |