From 456b705584bb82cd563a3c42421e7943df5ca37f Mon Sep 17 00:00:00 2001 From: Egor Puzanov Date: Thu, 14 Jun 2012 20:13:31 +0200 Subject: [PATCH] fixed dictionaries processing within DataPoint formula --- ZenPacks/community/SQLDataSource/zenperfsql.py | 8 ++++++-- setup.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ZenPacks/community/SQLDataSource/zenperfsql.py b/ZenPacks/community/SQLDataSource/zenperfsql.py index bcd8e36..7a83c9b 100644 --- a/ZenPacks/community/SQLDataSource/zenperfsql.py +++ b/ZenPacks/community/SQLDataSource/zenperfsql.py @@ -373,7 +373,7 @@ def _fetchPerf(self, ignored): log.debug("Datasource %s %squery:'%s'", datasource.name, self._preferences.options.showconnectionstring and \ "connection string: '%s', " % datasource.connectionString or "", - datasource.sqlp) + datasource.sql) datasource.deviceConfig = self._device task = self._executor.submit(datasource) task.addBoth(self._processDatasourceResults) @@ -421,7 +421,11 @@ def _processDatasourceResults(self, datasource): try: if dp.expr: if dp.expr.__contains__(':'): - dpvalue = eval('{%s}'%dp.expr).get(str(dpvalue)) + ed = eval('{%s}'%dp.expr.lower()) + if isinstance(dpvalue, float): + dpvalue = int(dpvalue) + dpvalue = ed.get(str(dpvalue).lower()) or ed.get( + 'unknown') else: dpvalue = rrpn(dp.expr, dpvalue) values.append(float(dpvalue)) diff --git a/setup.py b/setup.py index ab16ca5..8f2f033 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ # or saved. Do not modify them directly here. # NB: PACKAGES is deprecated NAME = "ZenPacks.community.SQLDataSource" -VERSION = "2.2.3" +VERSION = "2.2.4" AUTHOR = "Egor Puzanov" LICENSE = "" NAMESPACE_PACKAGES = ['ZenPacks', 'ZenPacks.community']