def validate_record(record_file): """Validate the record file.""" # Check the validity of a cyber record file according to header info. record_reader = RecordReader(record_file) header_msg = record_reader.get_headerstring() header = record_pb2.Header() header.ParseFromString(header_msg) print(f"header is {header}") if not header.is_complete: print(f'Record file: {record_file} is not completed.') return False if header.size == 0: print(f'Record file: {record_file}. size is 0.') return False if header.major_version != 1 and header.minor_version != 0: print( f'Record file: {record_file}. version [{header.major_version}: ' f'{header.minor_version}] is wrong.') return False if header.begin_time >= header.end_time: print( f'Record file: {record_file}. begin time [{header.begin_time}] ' f'is equal or larger than end time [{header.end_time}].') return False if header.message_number < 1 or header.channel_number < 1: print( f'Record file: {record_file}. [message:channel] number ' f'[{header.message_number}:{header.channel_number}] is invalid.' ) return False # There should be at least one sensor channel sensor_channels = Extractor.get_sensor_channel_list(record_file) if len(sensor_channels) < 1: print(f'Record file: {record_file}. cannot find sensor channels.') return False return True
def validate_record(record_file): """Validate the record file.""" # Check the validity of a cyber record file according to header info. record_reader = RecordReader(record_file) header_msg = record_reader.get_headerstring() header = record_pb2.Header() header.ParseFromString(header_msg) print("header is {}".format(header)) if not header.is_complete: print('Record file: %s is not completed.' % record_file) return False if header.size == 0: print('Record file: %s. size is 0.' % record_file) return False if header.major_version != 1 and header.minor_version != 0: print('Record file: %s. version [%d:%d] is wrong.' % (record_file, header.major_version, header.minor_version)) return False if header.begin_time >= header.end_time: print('Record file: %s. begin time [%s] is equal or larger than ' 'end time [%s].' % (record_file, header.begin_time, header.end_time)) return False if header.message_number < 1 or header.channel_number < 1: print('Record file: %s. [message:channel] number [%d:%d] is invalid.' % (record_file, header.message_number, header.channel_number)) return False # There should be at least one sensor channel sensor_channels = get_sensor_channel_list(record_file) if len(sensor_channels) < 1: print('Record file: %s. cannot find sensor channels.' % record_file) return False return True