comparison weather_server/locations.py @ 24:20c8ec56e447

logfile: Pull logfile thread out of Logger. This enables automatic garbage collection of Logger instances, since a running thread no longer has a reference to a Logger's self. It separates exclusive management of logfile state into the _writer_thread function, which now opens the file and writes it until it is told to stop by receiving the poison pill.
author Paul Fisher <paul@pfish.zone>
date Sun, 10 Nov 2019 23:07:11 -0500
parents e229afdd447b
children 7def5611895b
comparison
equal deleted inserted replaced
23:88249e451566 24:20c8ec56e447
29 parser.read_file(infile) 29 parser.read_file(infile)
30 self.name = parser.get( 30 self.name = parser.get(
31 'location', 'name', fallback='Weather station') 31 'location', 'name', fallback='Weather station')
32 self.tz_name = parser.get('location', 'timezone', fallback='UTC') 32 self.tz_name = parser.get('location', 'timezone', fallback='UTC')
33 self.password = parser.get('location', 'password') 33 self.password = parser.get('location', 'password')
34 self.logger = logfile.Logger.create( 34 self.logger = logfile.Logger(
35 str(root / LOG), sample_field='sample_time') 35 str(root / LOG), sample_field='sample_time')
36 except (IOError, KeyError, configparser.Error): 36 except (IOError, KeyError, configparser.Error):
37 raise ConfigError("Couldn't load location info.") 37 raise ConfigError("Couldn't load location info.")
38 38
39 def record( 39 def record(