From cdf97de4bfa90cd666bbddca64ff64c8354f3a70 Mon Sep 17 00:00:00 2001 From: Tom Keffer Date: Sun, 13 Mar 2016 08:50:01 -0700 Subject: [PATCH] DMPAFT retry count gets reset after every success. --- bin/weewx/drivers/vantage.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bin/weewx/drivers/vantage.py b/bin/weewx/drivers/vantage.py index 609e43e8..670beaac 100644 --- a/bin/weewx/drivers/vantage.py +++ b/bin/weewx/drivers/vantage.py @@ -533,15 +533,20 @@ class Vantage(weewx.drivers.AbstractDevice): yields: a sequence of dictionaries containing the data """ - for count in range(self.max_tries): + count = 0 + while count < self.max_tries: try: for _record in self.genDavisArchiveRecords(since_ts): + # Successfully retrieved record. Set count back to zero. + count = 0 since_ts = _record['dateTime'] yield _record # The generator loop exited. We're done. return except weewx.WeeWxIOError, e: - syslog.syslog(syslog.LOG_ERR, "vantage: DMPAFT try #%d; error: %s" % (count + 1, e)) + # Problem. Increment retry count + count += 1 + syslog.syslog(syslog.LOG_ERR, "vantage: DMPAFT try #%d; error: %s" % (count, e)) syslog.syslog(syslog.LOG_ERR, "vantage: DMPAFT max tries (%d) exceeded." % self.max_tries) raise weewx.RetriesExceeded("Max tries exceeded while getting archive data.")