Description: add loading config from every path Add loading config from ervery path Separation data / program Author: Jörg Frings-Fürst Last-Update: 2014-05-12 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: trunk/mwc.py =================================================================== --- trunk.orig/mwc.py +++ trunk/mwc.py @@ -316,7 +316,7 @@ def pollWebsites(): if __name__ == "__main__": - configMod = 'config' + configMod = '/etc/mwc/mwc-config' dryrun = None try: @@ -332,9 +332,24 @@ if __name__ == "__main__": configMod = arg elif opt in ('-d', '--dry-run'): dryrun = arg - - config = importlib.import_module(configMod) - + # + # add code to load config from nonsystem path + # and change to datadir + # + try: + path = os.path.dirname(configMod) + fullname = os.path.basename(configMod) + sys.path.append(path) + config = importlib.import_module(fullname) + except: + print('Error: loading config') + sys.exit(2) + try: + os.chdir(config.datadir) + except: + print('Error: datadir not found') + sys.exit(3) + if dryrun: for site in config.sites: if site['shortname'] == dryrun: Index: trunk/config_template.py =================================================================== --- trunk.orig/config_template.py +++ trunk/config_template.py @@ -1,5 +1,3 @@ -import os.path - # Copyright: (2013-2014) Michael Till Beck # License: GPL-2.0+ @@ -44,11 +42,11 @@ sender = 'me@mymail.com' smtphost = 'mysmtpprovider.com' useTLS = True smtpport = 587 -smtpusername = sender +smtpusername = 'sender' smtppwd = 'mypassword' receiver = 'me2@mymail.com' -os.chdir('/var/cache/mwc') +datadir'/var/cache/mwc' enableRSSFeed = True rssfile = 'feed.xml' Index: trunk/mwcfeedserver.py =================================================================== --- trunk.orig/mwcfeedserver.py +++ trunk/mwcfeedserver.py @@ -6,6 +6,7 @@ import http.server import socketserver import importlib +import os import sys import getopt @@ -31,13 +32,26 @@ for opt, arg in opts: elif opt in ('-p', '--port'): port = int(arg) -config = importlib.import_module(configMod) - +# +# add code to load config from nonsystem path +# and change to datadir +# +try: + path = os.path.dirname(configMod) + fullname = os.path.basename(configMod) + sys.path.append(path) + config = importlib.import_module(fullname) +except: + print('Error: loading config') + sys.exit(2) handler = http.server.SimpleHTTPRequestHandler httpd = socketserver.TCPServer((bind, port), handler) print('Bond to ' + bind + ', listening on port ' + str(port)) -httpd.serve_forever() - +try: + httpd.serve_forever() +except KeyboardInterrupt: + pass +httpd.server_close()