From 9e4a8f0b593970e5a35c28a102b5d80e423cb349 Mon Sep 17 00:00:00 2001 From: cedricbonhomme Date: Mon, 3 May 2010 21:59:30 +0200 Subject: Added export function. --- pyAggr3g470r.py | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/pyAggr3g470r.py b/pyAggr3g470r.py index 30ba48e4..fec8db74 100755 --- a/pyAggr3g470r.py +++ b/pyAggr3g470r.py @@ -207,8 +207,13 @@ class Root: html += """
\n
\n""" - html += """
\n\n
\n""" + html += "

Export articles

" + html += """
\n""" html += "
\n" if self.articles: @@ -742,6 +747,34 @@ class Root: list_favorites.exposed = True + def export(self, export_method): + """ + Export articles stored in the SQLite database in a text files. + """ + for rss_feed_id in self.feeds.keys(): + folder = "./var/export/" + self.feeds[rss_feed_id][3] + try: + os.makedirs(folder) + except OSError: + return self.error_page(folder+" already exists.") + for article in self.articles[rss_feed_id]: + try: + if export_method == "export_HTML": + f = open(folder + "/" + article[2]+ ".html", "w") + content = article[4].encode('utf-8') + elif export_method == "export_TXT": + f = open(folder + "/" + article[2], "w") + content = utils.remove_html_tags(article[4].encode('utf-8')) + f.write(content) + except IOError: + pass + finally: + f.close() + return self.management() + + export.exposed = True + + def update(self, path=None, event = None): """ Synchronizes transient objects with the database, -- cgit