thank you up and running now On Sunday, November 8, 2020 at 1:49:15 PM UTC [email protected] wrote:
> Pretty simple. You're opening the file with mode 'ab', which means for > writing, appending to the file, and in binary mode. Then you try to read > it. Instead, open it in read mode: > > with open(self.filename, 'rb') as f: > > Incidentally, this is a good example of a 'try' clause being too broad. > You're catching everything, and not giving yourself enough information to > diagnose the problem. Instead, try something like > > try: > ... > except FileNotFoundError as e: > syslog.syslog(syslog.LOG_INFO, "File not found: %s" % e) > except ValueError as e: > syslog.syslog(syslog.LOG_INFO, "Could not convert string to value: %s" % > e) > > etc. > > Or, even better, use multiple 'try' clauses. > > Finally, WeeWX V4 no longer uses syslog. Instead, it uses the module > logging. See the wiki article *WeeWX V4 and logging > <https://github.com/weewx/weewx/wiki/WeeWX-v4-and-logging>*. > > -tk > > On Sun, Nov 8, 2020 at 4:34 AM vigilance wx <[email protected]> wrote: > >> HI >> I have a service running under weewx 3,9 its working fine connected to a >> Davis vantage. On a second pi i have installed weewx 4.2 with view to >> upgrading the 3.9 pi to the latest weewx version >> the service i have on the weewx3.9 will not run under python 3 >> >> import syslog >> import weewx >> import os >> import csv >> from weewx.wxengine import StdService >> class PlanetService(StdService): >> def __init__(self, engine, config_dict): >> super(PlanetService, self).__init__(engine, config_dict) >> d = config_dict.get('PlanetService', {}) >> self.filename = d.get('filename', '/home/pi/cc/allplanets.csv') >> syslog.syslog(syslog.LOG_INFO, "planet: using %s" % self.filename) >> self.bind(weewx.NEW_ARCHIVE_RECORD, self.read_file) >> >> def read_file(self, event): >> try: >> with open(self.filename) as f: >> f.seek(-10, os.SEEK_END) >> line = f.readlines()[-1] >> value = line.split(',') >> >> syslog.syslog(syslog.LOG_DEBUG, "allplanets: found value of >> %s" % value) >> event.record['plutoAzi'] = float(value[3]) >> except Exception as e: >> syslog.syslog(syslog.LOG_ERR, "allplanets: cannot read value: >> %s" % e) >> >> the above runs under weewx 3.9 but it will not run under weewx 4.2 >> >> i have tried to modify if but i am getting the error in the log file >> "/weewxd: allplanets: cannot read value: read" >> >> import syslog >> import weewx >> import os >> import csv >> >> from weewx.wxengine import StdService >> >> class PlanetService(StdService): >> def __init__(self, engine, config_dict): >> super(PlanetService, self).__init__(engine, config_dict) >> d = config_dict.get('PlanetService', {}) >> self.filename = d.get('filename', '/home/pi/cc/allplanets.csv') >> syslog.syslog(syslog.LOG_INFO, "planet: using %s" % self.filename) >> self.bind(weewx.NEW_ARCHIVE_RECORD, self.read_file) >> >> def read_file(self, event): >> try: >> with open(self.filename , 'ab') as f: >> >> f.seek(-10, 2) >> line = f.readlines()[-1] >> value = line.split(',') >> >> syslog.syslog(syslog.LOG_DEBUG, "allplanets: found value of >> %s" % value) >> event.record['extraTemp1'] = float(value[1]) >> except Exception as e: >> syslog.syslog(syslog.LOG_ERR, "allplanets: cannot read value: >> %s" % e) >> >> could any one offer advice as to why it will not run? is it the seek >> function? >> >> thanks for any advice >> >> -- >> > You received this message because you are subscribed to the Google Groups >> "weewx-user" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/weewx-user/52382be8-9031-4d4a-85da-9353aecf40f8n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/weewx-user/52382be8-9031-4d4a-85da-9353aecf40f8n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/34c47aaf-4958-4d91-958a-a39e3cf24421n%40googlegroups.com.
