From 0fc25218ad337c208024b325ec4c0c5656ee893e Mon Sep 17 00:00:00 2001 From: cedricbonhomme Date: Sun, 22 Apr 2012 23:05:30 +0200 Subject: Added conf.py which is responsible of the load of the configuration. --- source/conf.py | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ source/feedgetter.py | 3 ++- source/pyAggr3g470r.py | 15 ++++++++------- source/utils.py | 23 +---------------------- 4 files changed, 62 insertions(+), 30 deletions(-) create mode 100644 source/conf.py (limited to 'source') diff --git a/source/conf.py b/source/conf.py new file mode 100644 index 00000000..60289315 --- /dev/null +++ b/source/conf.py @@ -0,0 +1,51 @@ +#! /usr/bin/env python +#-*- coding: utf-8 -*- + +# pyAggr3g470r - A Web based news aggregator. +# Copyright (C) 2010 Cédric Bonhomme - http://cedricbonhomme.org/ +# +# For more information : http://bitbucket.org/cedricbonhomme/pyaggr3g470r/ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see + +__author__ = "Cedric Bonhomme" +__version__ = "$Revision: 0.1 $" +__date__ = "$Date: 2012/04/22 $" +__revision__ = "$Date: 2012/04/22 $" +__copyright__ = "Copyright (c) Cedric Bonhomme" +__license__ = "GPLv3" + + +import os +import ConfigParser +# load the configuration +config = ConfigParser.RawConfigParser() +try: + config.read("./cfg/pyAggr3g470r.cfg") +except: + config.read("./cfg/pyAggr3g470r.cfg-sample") +path = os.path.abspath(".") + +MONGODB_ADDRESS = config.get('MongoDB', 'address') +MONGODB_PORT = int(config.get('MongoDB', 'port')) +MONGODB_USER = config.get('MongoDB', 'user') +MONGODB_PASSWORD = config.get('MongoDB', 'password') + +mail_from = config.get('mail','mail_from') +mail_to = config.get('mail','mail_to') +smtp_server = config.get('mail','smtp') +username = config.get('mail','username') +password = config.get('mail','password') + +DIASPORA_POD = config.get('misc', 'diaspora_pod') \ No newline at end of file diff --git a/source/feedgetter.py b/source/feedgetter.py index f713f672..aa25f2a3 100755 --- a/source/feedgetter.py +++ b/source/feedgetter.py @@ -32,6 +32,7 @@ from BeautifulSoup import BeautifulSoup from datetime import datetime +import conf import utils import mongodb @@ -145,7 +146,7 @@ class FeedGetter(object): self.articles.add_articles(articles, feed_id) # send new articles by e-mail if desired. - #threading.Thread(None, utils.send_mail, None, (utils.mail_from, utils.mail_to, \ + #threading.Thread(None, utils.send_mail, None, (conf.mail_from, conf.mail_to, \ #a_feed.feed.title.encode('utf-8'), \ #article_title, description) \ #).start() diff --git a/source/pyAggr3g470r.py b/source/pyAggr3g470r.py index 7c4c8fde..a9434fba 100755 --- a/source/pyAggr3g470r.py +++ b/source/pyAggr3g470r.py @@ -46,6 +46,7 @@ import calendar from collections import Counter import datetime +import conf import utils import export import mongodb @@ -108,7 +109,7 @@ class Root: def __init__(self): """ """ - self.mongo = mongodb.Articles(utils.MONGODB_ADDRESS, utils.MONGODB_PORT) + self.mongo = mongodb.Articles(conf.MONGODB_ADDRESS, conf.MONGODB_PORT) def index(self): """ @@ -506,7 +507,7 @@ class Root: # on Diaspora html += """\n\t \n""" % \ - (utils.DIASPORA_POD, article["article_link"], article["article_title"], "via pyAggr3g470r") + (conf.DIASPORA_POD, article["article_link"], article["article_title"], "via pyAggr3g470r") # on Identi.ca html += """\n\n""" % \ @@ -578,7 +579,7 @@ class Root: " unread article" + (self.mongo.nb_unread_articles(feed_id) == 1 and [""] or ["s"])[0]])[0] + ".

" if feed["mail"] == True: html += """

You are receiving articles from this feed to the address: %s. """ % \ - (utils.mail_to, utils.mail_to) + (conf.mail_to, conf.mail_to) html += """Stop receiving articles from this feed.

""" % \ (feed_id, ) @@ -991,7 +992,7 @@ class Root: else: html += "

No active notifications.

\n" html += """

Notifications are sent to: %s

""" % \ - (utils.mail_to, utils.mail_to) + (conf.mail_to, conf.mail_to) html += "\n
\n" + htmlfooter return html @@ -1217,7 +1218,7 @@ class Root: except: self.error_page("This article do not exists.") try: - folder = utils.path + "/var/export/epub/" + folder = conf.path + "/var/export/epub/" os.makedirs(folder) except OSError: # directories already exists (not a problem) @@ -1237,9 +1238,9 @@ if __name__ == '__main__': print "Launching pyAggr3g470r..." root = Root() - root.favicon_ico = cherrypy.tools.staticfile.handler(filename=os.path.join(utils.path + "/img/favicon.png")) + root.favicon_ico = cherrypy.tools.staticfile.handler(filename=os.path.join(conf.path + "/img/favicon.png")) cherrypy.config.update({ 'server.socket_port': 12556, 'server.socket_host': "0.0.0.0"}) cherrypy.config.update({'error_page.404': error_page_404}) _cp_config = {'request.error_response': handle_error} - cherrypy.quickstart(root, "/" ,config=utils.path + "/cfg/cherrypy.cfg") + cherrypy.quickstart(root, "/" ,config=conf.path + "/cfg/cherrypy.cfg") diff --git a/source/utils.py b/source/utils.py index 6230f005..9efe9d83 100755 --- a/source/utils.py +++ b/source/utils.py @@ -34,6 +34,7 @@ __license__ = "GPLv3" # - mail notifications. # +import os import re import sqlite3 import operator @@ -53,28 +54,6 @@ from BeautifulSoup import BeautifulSoup from datetime import datetime from collections import Counter -import os -import ConfigParser -# load the configuration -config = ConfigParser.RawConfigParser() -try: - config.read("./cfg/pyAggr3g470r.cfg") -except: - config.read("./cfg/pyAggr3g470r.cfg-sample") -path = os.path.abspath(".") - -MONGODB_ADDRESS = config.get('MongoDB', 'address') -MONGODB_PORT = int(config.get('MongoDB', 'port')) -MONGODB_USER = config.get('MongoDB', 'user') -MONGODB_PASSWORD = config.get('MongoDB', 'password') - -mail_from = config.get('mail','mail_from') -mail_to = config.get('mail','mail_to') -smtp_server = config.get('mail','smtp') -username = config.get('mail','username') -password = config.get('mail','password') - -DIASPORA_POD = config.get('misc', 'diaspora_pod') # regular expression to chech URL url_finders = [ \ -- cgit