]> git.ipfire.org Git - collecty.git/blobdiff - src/collecty/plugins/loadavg.py
loadavg: Localise plugin
[collecty.git] / src / collecty / plugins / loadavg.py
index c7e5e145c0dcd36152185e71c838065dda462092..4125c8e796981f03e14cefb08ed79e7e2ce7b48d 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
 ###############################################################################
 #                                                                             #
 # collecty - A system statistics collection daemon for IPFire                 #
 
 import os
 
-import base
+from . import base
 
 from ..i18n import _
 
 class GraphTemplateLoadAvg(base.GraphTemplate):
        name = "loadavg"
 
-       rrd_graph = [
-               "DEF:load1=%(file)s:load1:AVERAGE",
-               "DEF:load5=%(file)s:load5:AVERAGE",
-               "DEF:load15=%(file)s:load15:AVERAGE",
-
-               "AREA:load1#ff0000:%s" % _("Load average  1m"),
-               "VDEF:load1min=load1,MINIMUM",
-               "VDEF:load1max=load1,MAXIMUM",
-               "VDEF:load1avg=load1,AVERAGE",
-               "GPRINT:load1max:%12s\:" % _("Maximum") + " %6.2lf",
-               "GPRINT:load1min:%12s\:" % _("Minimum") + " %6.2lf",
-               "GPRINT:load1avg:%12s\:" % _("Average") + " %6.2lf\\n",
-
-               "AREA:load5#ff9900:%s" % _("Load average  5m"),
-               "VDEF:load5min=load5,MINIMUM",
-               "VDEF:load5max=load5,MAXIMUM",
-               "VDEF:load5avg=load5,AVERAGE",
-               "GPRINT:load5max:%12s\:" % _("Maximum") + " %6.2lf",
-               "GPRINT:load5min:%12s\:" % _("Minimum") + " %6.2lf",
-               "GPRINT:load5avg:%12s\:" % _("Average") + " %6.2lf\\n",
-
-               "AREA:load15#ffff00:%s" % _("Load average 15m"),
-               "VDEF:load15min=load15,MINIMUM",
-               "VDEF:load15max=load15,MAXIMUM",
-               "VDEF:load15avg=load15,AVERAGE",
-               "GPRINT:load15max:%12s\:" % _("Maximum") + " %6.2lf",
-               "GPRINT:load15min:%12s\:" % _("Minimum") + " %6.2lf",
-               "GPRINT:load15avg:%12s\:" % _("Average") + " %6.2lf\\n",
-
-               "LINE:load5#dd8800",
-               "LINE:load1#dd0000",
-       ]
+       @property
+       def rrd_graph(self):
+               _ = self.locale.translate
+
+               return [
+                       "DEF:load1=%(file)s:load1:AVERAGE",
+                       "DEF:load5=%(file)s:load5:AVERAGE",
+                       "DEF:load15=%(file)s:load15:AVERAGE",
+
+                       "AREA:load1#ff0000:%s" % _("Load average  1m"),
+                       "VDEF:load1min=load1,MINIMUM",
+                       "VDEF:load1max=load1,MAXIMUM",
+                       "VDEF:load1avg=load1,AVERAGE",
+                       "GPRINT:load1max:%12s\:" % _("Maximum") + " %6.2lf",
+                       "GPRINT:load1min:%12s\:" % _("Minimum") + " %6.2lf",
+                       "GPRINT:load1avg:%12s\:" % _("Average") + " %6.2lf\\n",
+
+                       "AREA:load5#ff9900:%s" % _("Load average  5m"),
+                       "VDEF:load5min=load5,MINIMUM",
+                       "VDEF:load5max=load5,MAXIMUM",
+                       "VDEF:load5avg=load5,AVERAGE",
+                       "GPRINT:load5max:%12s\:" % _("Maximum") + " %6.2lf",
+                       "GPRINT:load5min:%12s\:" % _("Minimum") + " %6.2lf",
+                       "GPRINT:load5avg:%12s\:" % _("Average") + " %6.2lf\\n",
+
+                       "AREA:load15#ffff00:%s" % _("Load average 15m"),
+                       "VDEF:load15min=load15,MINIMUM",
+                       "VDEF:load15max=load15,MAXIMUM",
+                       "VDEF:load15avg=load15,AVERAGE",
+                       "GPRINT:load15max:%12s\:" % _("Maximum") + " %6.2lf",
+                       "GPRINT:load15min:%12s\:" % _("Minimum") + " %6.2lf",
+                       "GPRINT:load15avg:%12s\:" % _("Average") + " %6.2lf\\n",
+
+                       "LINE:load5#dd8800",
+                       "LINE:load1#dd0000",
+               ]
 
        lower_limit = 0
 
        @property
        def graph_title(self):
+               _ = self.locale.translate
                return _("Load average")
 
        @property
        def graph_vertical_label(self):
+               _ = self.locale.translate
                return _("Load")
 
 
@@ -84,7 +90,7 @@ class LoadAvgObject(base.Object):
                return "default"
 
        def collect(self):
-               return ":".join(["%.10f" % l for l in os.getloadavg()])
+               return os.getloadavg()
 
 
 class LoadAvgPlugin(base.Plugin):
@@ -93,8 +99,6 @@ class LoadAvgPlugin(base.Plugin):
 
        templates = [GraphTemplateLoadAvg]
 
-       interval = 30
-
        @property
        def objects(self):
                return [LoadAvgObject(self)]