#!/usr/bin/python
+###############################################################################
+# #
+# collecty - A system statistics collection daemon for IPFire #
+# Copyright (C) 2012 IPFire development team #
+# #
+# 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 <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
-import os
-import sys
-
-import daemon
import optparse
+import sys
import collecty
-c = collecty.Collecty()
-
-# Parse command line options
+# Parse command line options.
op = optparse.OptionParser(usage="usage: %prog [options] <configfile1> ... <configfileN>")
-op.add_option("-d", "--daemon", action="store_true", default=False,
- help="Run as a daemon in background.")
+op.add_option("-d", "--debug", action="store_true", default=False,
+ help="Enable debug logging.")
(options, configfiles) = op.parse_args()
-if configfiles:
- for file in configfiles:
- c.read_config(file)
-else:
- # Load default config file
- c.read_config("/etc/collecty/collecty.conf")
+# Initialize the settings for this Collecty instance.
+settings = {
+ "debug" : options.debug,
+}
+
+# Initialize the application.
+c = collecty.Collecty(**settings)
-if not c.instances:
- print >>sys.stderr, "Error: No instances were configured."
- sys.exit(1)
+# Read all configuration files.
+for configfile in configfiles:
+ c.read_config(configfile)
-if options.daemon:
- with daemon.DaemonContext(stdout=sys.stdout, stderr=sys.stderr):
- c.run()
-else:
- c.run()
+# Run.
+c.run()
+sys.exit(0)