]> git.ipfire.org Git - collecty.git/blobdiff - src/collecty/daemon.py
Add graph info functionality
[collecty.git] / src / collecty / daemon.py
index 0891f8a9f30a8405b6fb353ef3207f7a1cffc963..e8d402e7e45b1150303c42b07099d59f74b74c35 100644 (file)
@@ -21,6 +21,7 @@
 
 import datetime
 import multiprocessing
+import os
 import queue
 import rrdtool
 import signal
@@ -28,6 +29,7 @@ import threading
 import time
 
 from . import bus
+from . import locales
 from . import plugins
 
 from .constants import *
@@ -45,6 +47,10 @@ class Collecty(object):
        def __init__(self, debug=False):
                self.debug = debug
 
+               # Reset timezone to UTC
+               # rrdtool is reading that from the environment
+               os.environ["TZ"] = "UTC"
+
                # Enable debug logging when running in debug mode
                if self.debug:
                        log.setLevel(logging.DEBUG)
@@ -75,6 +81,8 @@ class Collecty(object):
                log.debug(_("Collecty successfully initialized with %s plugins") \
                        % len(self.plugins))
 
+               log.debug(_("Supported locales: %s") % ", ".join(locales.get_supported_locales()))
+
        def add_plugin(self, plugin_class):
                # Try initialising a new plugin. If that fails, we will log the
                # error and try to go on.
@@ -188,6 +196,13 @@ class Collecty(object):
 
                return plugin.generate_graph(template_name, *args, **kwargs)
 
+       def graph_info(self, template_name, *args, **kwargs):
+               plugin = self.get_plugin_from_template(template_name)
+               if not plugin:
+                       raise RuntimeError("Could not find template %s" % template_name)
+
+               return plugin.graph_info(template_name, *args, **kwargs)
+
        def create_worker_threads(self, num=None):
                """
                        Creates a number of worker threads