openrvdas.logger.transforms.parse_nmea_transform
No module-level documentation available.
1#!/usr/bin/env python3 2 3 4from logger.utils.das_record import DASRecord # noqa: E402 5from logger.utils import nmea_parser # noqa: E402 6from logger.transforms.transform import Transform # noqa: E402 7 8 9################################################################################ 10class ParseNMEATransform(Transform): 11 """Parse a "<data_id> <timestamp> <nmea>" record and return 12 corresponding DASRecord.""" 13 14 def __init__(self, json=False, 15 message_path=nmea_parser.DEFAULT_MESSAGE_PATH, 16 sensor_path=nmea_parser.DEFAULT_SENSOR_PATH, 17 sensor_model_path=nmea_parser.DEFAULT_SENSOR_MODEL_PATH, 18 time_format=None, **kwargs): 19 """ 20 ``` 21 json Return a JSON-encoded representation of the DASRecord instead 22 of DASRecord itself. 23 24 message_path, sensor_path, sensor_model_path 25 Wildcarded path matching JSON definitions for sensor messages, 26 sensors and sensor models. 27 ``` 28 """ 29 super().__init__(**kwargs) # processes 'quiet' and type hints 30 self.json = json 31 self.parser = nmea_parser.NMEAParser(message_path, sensor_path, 32 sensor_model_path, 33 time_format=time_format) 34 35 ############################ 36 def transform(self, record: str) -> DASRecord: 37 """Parse record and return DASRecord.""" 38 39 # See if it's something we can process, and if not, try digesting 40 if not self.can_process_record(record): # inherited from BaseModule() 41 return self.digest_record(record) # inherited from BaseModule() 42 43 result = self.parser.parse_record(record) 44 if not result: 45 return None 46 if self.json: 47 return result.as_json() 48 return result
class
ParseNMEATransform(logger.transforms.transform.Transform):
11class ParseNMEATransform(Transform): 12 """Parse a "<data_id> <timestamp> <nmea>" record and return 13 corresponding DASRecord.""" 14 15 def __init__(self, json=False, 16 message_path=nmea_parser.DEFAULT_MESSAGE_PATH, 17 sensor_path=nmea_parser.DEFAULT_SENSOR_PATH, 18 sensor_model_path=nmea_parser.DEFAULT_SENSOR_MODEL_PATH, 19 time_format=None, **kwargs): 20 """ 21 ``` 22 json Return a JSON-encoded representation of the DASRecord instead 23 of DASRecord itself. 24 25 message_path, sensor_path, sensor_model_path 26 Wildcarded path matching JSON definitions for sensor messages, 27 sensors and sensor models. 28 ``` 29 """ 30 super().__init__(**kwargs) # processes 'quiet' and type hints 31 self.json = json 32 self.parser = nmea_parser.NMEAParser(message_path, sensor_path, 33 sensor_model_path, 34 time_format=time_format) 35 36 ############################ 37 def transform(self, record: str) -> DASRecord: 38 """Parse record and return DASRecord.""" 39 40 # See if it's something we can process, and if not, try digesting 41 if not self.can_process_record(record): # inherited from BaseModule() 42 return self.digest_record(record) # inherited from BaseModule() 43 44 result = self.parser.parse_record(record) 45 if not result: 46 return None 47 if self.json: 48 return result.as_json() 49 return result
Parse a "
ParseNMEATransform( json=False, message_path='local/message/*.yaml', sensor_path='local/sensor/*.yaml', sensor_model_path='local/sensor_model/*.yaml', time_format=None, **kwargs)
15 def __init__(self, json=False, 16 message_path=nmea_parser.DEFAULT_MESSAGE_PATH, 17 sensor_path=nmea_parser.DEFAULT_SENSOR_PATH, 18 sensor_model_path=nmea_parser.DEFAULT_SENSOR_MODEL_PATH, 19 time_format=None, **kwargs): 20 """ 21 ``` 22 json Return a JSON-encoded representation of the DASRecord instead 23 of DASRecord itself. 24 25 message_path, sensor_path, sensor_model_path 26 Wildcarded path matching JSON definitions for sensor messages, 27 sensors and sensor models. 28 ``` 29 """ 30 super().__init__(**kwargs) # processes 'quiet' and type hints 31 self.json = json 32 self.parser = nmea_parser.NMEAParser(message_path, sensor_path, 33 sensor_model_path, 34 time_format=time_format)
json Return a JSON-encoded representation of the DASRecord instead
of DASRecord itself.
message_path, sensor_path, sensor_model_path
Wildcarded path matching JSON definitions for sensor messages,
sensors and sensor models.
def
transform(self, record: str) -> logger.utils.das_record.DASRecord:
37 def transform(self, record: str) -> DASRecord: 38 """Parse record and return DASRecord.""" 39 40 # See if it's something we can process, and if not, try digesting 41 if not self.can_process_record(record): # inherited from BaseModule() 42 return self.digest_record(record) # inherited from BaseModule() 43 44 result = self.parser.parse_record(record) 45 if not result: 46 return None 47 if self.json: 48 return result.as_json() 49 return result
Parse record and return DASRecord.