X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=contrib%2Fcollectd_unixsock.py;h=5cd4ab8ee6de5d7ba3ebadd83418765dea9d39e5;hp=c482ac6185fee8a1988e65271d24b40397c659b7;hb=2bc8f11d9c7182e24fb62a6efefa3e0b74ac0afb;hpb=ff8390d53b08dd36f8b0c5f4e530fe7ea9f21b90 diff --git a/contrib/collectd_unixsock.py b/contrib/collectd_unixsock.py index c482ac61..5cd4ab8e 100644 --- a/contrib/collectd_unixsock.py +++ b/contrib/collectd_unixsock.py @@ -68,8 +68,9 @@ class Collectd(): """ numvalues = self._cmd('GETTHRESHOLD "%s"' % identifier) lines = [] - if numvalues: - lines = self._readlines(numvalues) + if not numvalues or numvalues < 0: + raise KeyError("Identifier '%s' not found" % identifier) + lines = self._readlines(numvalues) return lines def getval(self, identifier, flush_after=True): @@ -83,8 +84,9 @@ class Collectd(): """ numvalues = self._cmd('GETVAL "%s"' % identifier) lines = [] - if numvalues: - lines = self._readlines(numvalues) + if not numvalues or numvalues < 0: + raise KeyError("Identifier '%s' not found" % identifier) + lines = self._readlines(numvalues) if flush_after: self.flush(identifiers=[identifier]) return lines @@ -156,7 +158,7 @@ class Collectd(): self._sock.send(c + "\n") status_message = self._readline() if self.noisy: - print "[recive] %s" % status_message + print "[receive] %s" % status_message if not status_message: return None code, message = status_message.split(' ', 1) @@ -172,8 +174,8 @@ class Collectd(): print "[socket] connected to %s" % self.path return sock except socket.error, (errno, errstr): - sys.stderror.write("[error] Connecting to socket failed: [%d] %s" - % (errno, errstr)) + sys.stderr.write("[error] Connecting to socket failed: [%d] %s" + % (errno, errstr)) return None def _readline(self): @@ -193,8 +195,8 @@ class Collectd(): buf.append(data) return ''.join(buf) except socket.error, (errno, errstr): - sys.stderror.write("[error] Reading from socket failed: [%d] %s" - % (errno, errstr)) + sys.stderr.write("[error] Reading from socket failed: [%d] %s" + % (errno, errstr)) self._sock = self._connect() return None @@ -218,8 +220,8 @@ class Collectd(): try: self._sock.close() except socket.error, (errno, errstr): - sys.stderror.write("[error] Closing socket failed: [%d] %s" - % (errno, errstr)) + sys.stderr.write("[error] Closing socket failed: [%d] %s" + % (errno, errstr)) if __name__ == '__main__':