forked from Trygve/otime
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import logging
 | |
| 
 | |
| logger = logging.getLogger()
 | |
| 
 | |
| 
 | |
| class MtrLogFormatter:
 | |
| 
 | |
|     def format_all(self, data_messages, datetime_extracted):
 | |
|         log_lines = []
 | |
|         for data_message in data_messages:
 | |
|             log_lines.append(self.format(data_message, datetime_extracted))
 | |
|         return log_lines
 | |
| 
 | |
|     def format(self, msg, datetime_extracted):
 | |
|         log_line = []
 | |
|         log_line.append('"M"')
 | |
|         log_line.append('"0"')
 | |
|         log_line.append('"%d"' % msg.mtr_id())
 | |
|         log_line.append('"%06d"' % msg.card_id())
 | |
|         print('"%06d"' % msg.card_id())
 | |
| 
 | |
|         log_line.append(
 | |
|                 '"%s"' % datetime_extracted.strftime('%d.%m.%y %H:%M:%S.000'))
 | |
|         log_line.append(
 | |
|                 '"%02d.%02d.%02d %02d:%02d:%02d.%03d"' % (
 | |
|                     msg.day(),
 | |
|                     msg.month(),
 | |
|                     msg.year(),
 | |
|                     msg.hours(),
 | |
|                     msg.minutes(),
 | |
|                     msg.seconds(),
 | |
|                     msg.milliseconds()))
 | |
|         log_line.append('%06d' % msg.card_id())
 | |
|         log_line.append('%04d' % 0)  # skipped product week
 | |
|         log_line.append('%04d' % 0)  # skipped product year
 | |
|         controls = []
 | |
|         for (control_code, time_at_control) in msg.splits():
 | |
|             log_line.append('%03d' % control_code)
 | |
|             controls.append('%03d' % control_code)
 | |
| 
 | |
|             log_line.append('%05d' % time_at_control)
 | |
|         print(controls)
 | |
|         log_line.append('%07d' % msg.packet_num())
 | |
| 
 | |
|         log_line_str = ",".join(log_line)
 | |
|         logger.info("Converted message to log line format: %s", log_line_str)
 | |
|         return log_line_str
 |