cell_parsers.reverse() def parser(args, **kwargs): return {start_re: compose(*start_parsers), cell_re: compose(*cell_parsers)} if __name__ == '__main__': logging.basicConfig( level=getattr(logging, os.environ.get('LOGGING_LEVEL', 'WARN'))) import lewas.cli as cli args = cli.parse(name='argonaut') config = args.config argonaut = Instrument(args.reader, parser=args.parser, name=args.instrument_name, site=config['site']) #start_line = '10.0 5.5 0.362 3.9 3.9 10.0 179 177 169 0 0.0 0.0 0.0 0.0 0.0 0.0 4.34 0.000 0.000 11.6 0.1 0.3 29 30 30' #m = args.parser[start_re](start_line) #print(m) #for i in range(1,5): # cell_line = '{} 4.7 -2.2 4.4 4.3 179 175'.format(i) # m = args.parser[cell_re](cell_line) # print(m) #sys.exit(0) kwargs = {} argonaut.run(args.datastore, **kwargs)
def start(self): pass ## Custom methods. Anything beyond what is handled by the automatic API ## Diagnostic methods def check(self, metric): codes = {'wind': '0WU', 'PTH': '0TU', 'rain': '0RU', 'self': '0SU'} self.cmd_output(codes[metric] + '\n\r') def reset(self, code): codes = {'rain': '0XZRU', 'intensity': '0XZRI'} output = self.cmd_output(codes[code] + '\n\r') if __name__ == "__main__": logging.basicConfig( level=getattr(logging, os.environ.get('LOGGING_LEVEL', 'WARN'))) import lewas.cli as cli args = cli.parse(name='weather_station') config = args.config weather_station = Instrument(args.reader, parser=args.parser, name=args.instrument_name, site=config['site']) kwargs = {} weather_station.run(args.datastore, **kwargs)