Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar_network/toolkit/rrd.py
diff options
context:
space:
mode:
Diffstat (limited to 'sugar_network/toolkit/rrd.py')
-rw-r--r--sugar_network/toolkit/rrd.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/sugar_network/toolkit/rrd.py b/sugar_network/toolkit/rrd.py
index da58aff..bafe6d1 100644
--- a/sugar_network/toolkit/rrd.py
+++ b/sugar_network/toolkit/rrd.py
@@ -107,13 +107,25 @@ class _DbSet(object):
@property
def first(self):
- if self._revisions:
- return self._revisions[0].first
+ if not self._revisions:
+ return
+ return self._revisions[0].first
@property
def last(self):
- if self._revisions:
- return self._revisions[-1].last
+ if not self._revisions:
+ return
+ return self._revisions[-1].last
+
+ @property
+ def last_ds(self):
+ if not self._revisions or not self._field_names:
+ return {}
+ info = _rrdtool.info(self._revisions[-1].path)
+ result = {}
+ for field in self._field_names:
+ result[field] = float(info.get('ds[%s].last_ds' % field) or 0)
+ return result
def load(self, filename, revision):
_logger.debug('Load %s database from %s with revision %s',