From 864d8a49934894fe59ed89517063f1c05d6fb0fc Mon Sep 17 00:00:00 2001 From: cedricbonhomme Date: Tue, 1 May 2012 18:18:28 +0200 Subject: It is now possible to update information about a feed with the MongoDG database. --- source/mongodb.py | 7 +++++++ source/pyAggr3g470r.py | 25 +++++++++++++------------ source/utils.py | 38 -------------------------------------- 3 files changed, 20 insertions(+), 50 deletions(-) diff --git a/source/mongodb.py b/source/mongodb.py index b3527794..7bb5c841 100644 --- a/source/mongodb.py +++ b/source/mongodb.py @@ -186,6 +186,13 @@ class Articles(object): for feed_id in self.db.collection_names(): self.mark_as_read(readed, feed_id, None) + def update_feed(self, feed_id, changes): + """ + Update a feed. + """ + collection = self.db[str(feed_id)] + collection.update({"type": 0, "feed_id":feed_id}, {"$set": changes}, multi=True) + def list_collections(self): """ List all collections (feed). diff --git a/source/pyAggr3g470r.py b/source/pyAggr3g470r.py index f00fe795..48103319 100755 --- a/source/pyAggr3g470r.py +++ b/source/pyAggr3g470r.py @@ -656,18 +656,18 @@ class Root: html += '\n\n
' + \ '' + \ - """
\n""" % \ - (feed["feed_link"],) + """\n""" % \ + (feed["feed_id"],) html += '\n\n
' + \ '' + \ - """
\n""" % \ - (feed["feed_link"],) + """\n""" % \ + (feed["feed_id"], feed["feed_link"]) html += '\n\n
' + \ - '' + \ - """
\n""" % \ - (feed["feed_link"],) + """\n""" % \ + (feed["feed_id"],) dic = {} top_words = utils.top_words(articles = self.mongo.get_articles_from_collection(feed_id), n=50, size=int(word_size)) @@ -1101,13 +1101,14 @@ class Root: remove_feed.exposed = True - def change_feed_url(self, new_feed_url, old_feed_url): + def change_feed_url(self, feed_id, old_feed_url, new_feed_url): """ Enables to change the URL of a feed already present in the database. """ html = htmlheader() html += htmlnav html += """
""" + self.mongo.update_feed(feed_id, {"feed_link":new_feed_url}) utils.change_feed_url(old_feed_url, new_feed_url) html += "

The URL of the feed has been changed.

" html += "
\n" @@ -1116,14 +1117,14 @@ class Root: change_feed_url.exposed = True - def change_feed_name(self, feed_url, new_feed_name): + def change_feed_name(self, feed_id, new_feed_name): """ Enables to change the name of a feed. """ html = htmlheader() html += htmlnav html += """
""" - utils.change_feed_name(feed_url, new_feed_name) + self.mongo.update_feed(feed_id, {"feed_title":new_feed_name}) html += "

The name of the feed has been changed.

" html += "
\n" html += htmlfooter @@ -1131,14 +1132,14 @@ class Root: change_feed_name.exposed = True - def change_feed_logo(self, feed_url, new_feed_logo): + def change_feed_logo(self, feed_id, new_feed_logo): """ Enables to change the name of a feed. """ html = htmlheader() html += htmlnav html += """
""" - utils.change_feed_logo(feed_url, new_feed_logo) + self.mongo.update_feed(feed_id, {"feed_image":new_feed_logo}) html += "

The logo of the feed has been changed.

" html += "
\n" html += htmlfooter diff --git a/source/utils.py b/source/utils.py index da68550b..26492b8d 100755 --- a/source/utils.py +++ b/source/utils.py @@ -36,7 +36,6 @@ __license__ = "GPLv3" import os import re -import sqlite3 import operator import urlparse import calendar @@ -252,43 +251,6 @@ def change_feed_url(old_feed_url, new_feed_url): with open("./var/feed.lst", "w") as f: f.write("\n".join(lines)) - # Replace the URL in the data base. - try: - conn = sqlite3.connect(sqlite_base, isolation_level = None) - c = conn.cursor() - c.execute("UPDATE articles SET feed_link='" + new_feed_url + "' WHERE feed_link='" + old_feed_url +"'") - c.execute("UPDATE feeds SET feed_link='" + new_feed_url + "' WHERE feed_link='" + old_feed_url +"'") - conn.commit() - c.close() - except Exception, e: - print e - -def change_feed_name(feed_url, new_feed_name): - """ - Change the name of a feed given in parameter. - """ - try: - conn = sqlite3.connect(sqlite_base, isolation_level = None) - c = conn.cursor() - c.execute('UPDATE feeds SET feed_title="' + new_feed_name + '" WHERE feed_link="' + feed_url +'"') - conn.commit() - c.close() - except Exception, e: - print e - -def change_feed_logo(feed_url, new_feed_logo): - """ - Change the logo of a feed given in parameter. - """ - try: - conn = sqlite3.connect(sqlite_base, isolation_level = None) - c = conn.cursor() - c.execute('UPDATE feeds SET feed_image_link="' + new_feed_logo + '" WHERE feed_link="' + feed_url +'"') - conn.commit() - c.close() - except Exception, e: - print e - def remove_feed(feed_url): """ Remove a feed from the file feed.lst and from the SQLite base. -- cgit