import signal
-import ConfigParser as configparser
-
import plugins
from constants import *
SUBMIT_INTERVAL = 300
def __init__(self, debug=False):
- self.config = configparser.ConfigParser()
self.data_sources = []
# Indicates whether this process should be running or not.
self.data_sources += ret
- def read_config(self, config):
- self.config.read(config)
-
- for section in self.config.sections():
- try:
- data_source = self.config.get(section, "data_source")
- data_source = plugins.find(data_source)
- except configparser.NoOptionError:
- raise ConfigError, "Syntax error in configuration: plugin option is missing."
- except:
- raise Exception, "Plugin configuration error: Maybe plugin wasn't found? %s" % data_source
-
- kwargs = {}
- for (key, value) in self.config.items(section):
- if key == "plugin":
- continue
-
- kwargs[key] = value
- kwargs["file"] = section
-
- ds = data_source(self, **kwargs)
- self.data_sources.append(ds)
-
def run(self):
# Register signal handlers.
self.register_signal_handler()
import collecty
# Parse command line options.
-op = optparse.OptionParser(usage="usage: %prog [options] <configfile1> ... <configfileN>")
+op = optparse.OptionParser(usage="usage: %prog [options]")
op.add_option("-d", "--debug", action="store_true", default=False,
help="Enable debug logging.")
-(options, configfiles) = op.parse_args()
+(options, args) = op.parse_args()
# Initialize the settings for this Collecty instance.
settings = {
# Initialize the application.
c = collecty.Collecty(**settings)
-# Read all configuration files.
-for configfile in configfiles:
- c.read_config(configfile)
-
# Run.
c.run()