|  |  | @ -73,6 +73,7 @@ if __name__ == "__main__": | 
			
		
	
		
		
			
				
					
					|  |  |  |       lr = LogReader(qlog_path) |  |  |  |       lr = LogReader(qlog_path) | 
			
		
	
		
		
			
				
					
					|  |  |  |       dongles.append(dongle_id) |  |  |  |       dongles.append(dongle_id) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       CP = None | 
			
		
	
		
		
			
				
					
					|  |  |  |       for msg in lr: |  |  |  |       for msg in lr: | 
			
		
	
		
		
			
				
					
					|  |  |  |         if msg.which() == "pandaStates": |  |  |  |         if msg.which() == "pandaStates": | 
			
		
	
		
		
			
				
					
					|  |  |  |           if msg.pandaStates[0].pandaType not in ('uno', 'blackPanda', 'dos'): |  |  |  |           if msg.pandaStates[0].pandaType not in ('uno', 'blackPanda', 'dos'): | 
			
		
	
	
		
		
			
				
					|  |  | @ -80,14 +81,13 @@ if __name__ == "__main__": | 
			
		
	
		
		
			
				
					
					|  |  |  |             break |  |  |  |             break | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         elif msg.which() == "carParams": |  |  |  |         elif msg.which() == "carParams": | 
			
		
	
		
		
			
				
					
					|  |  |  |           bts = msg.carParams.as_builder().to_bytes() |  |  |  |           CP = msg.carParams | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |           car_fw = CP.carFw | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           car_fw = msg.carParams.carFw |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |           if len(car_fw) == 0: |  |  |  |           if len(car_fw) == 0: | 
			
		
	
		
		
			
				
					
					|  |  |  |             print("no fw") |  |  |  |             print("no fw") | 
			
		
	
		
		
			
				
					
					|  |  |  |             break |  |  |  |             break | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |           live_fingerprint = msg.carParams.carFingerprint |  |  |  |           live_fingerprint = CP.carFingerprint | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |           live_fingerprint = migration.get(live_fingerprint, live_fingerprint) |  |  |  |           live_fingerprint = migration.get(live_fingerprint, live_fingerprint) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |           if args.car is not None: |  |  |  |           if args.car is not None: | 
			
		
	
	
		
		
			
				
					|  |  | @ -116,7 +116,7 @@ if __name__ == "__main__": | 
			
		
	
		
		
			
				
					
					|  |  |  |             break |  |  |  |             break | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |           print(f"{dongle_id}|{time}") |  |  |  |           print(f"{dongle_id}|{time}") | 
			
		
	
		
		
			
				
					
					|  |  |  |           print("Old style:", live_fingerprint, "Vin", msg.carParams.carVin) |  |  |  |           print("Old style:", live_fingerprint, "Vin", CP.carVin) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |           print("New style (exact):", exact_matches) |  |  |  |           print("New style (exact):", exact_matches) | 
			
		
	
		
		
			
				
					
					|  |  |  |           print("New style (fuzzy):", fuzzy_matches) |  |  |  |           print("New style (fuzzy):", fuzzy_matches) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -164,6 +164,9 @@ if __name__ == "__main__": | 
			
		
	
		
		
			
				
					
					|  |  |  |               print("Fuzzy match wrong! Fuzzy:", fuzzy_matches, "Live:", live_fingerprint) |  |  |  |               print("Fuzzy match wrong! Fuzzy:", fuzzy_matches, "Live:", live_fingerprint) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |           break |  |  |  |           break | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       if CP is None: | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         print("no CarParams in logs") | 
			
		
	
		
		
			
				
					
					|  |  |  |     except Exception: |  |  |  |     except Exception: | 
			
		
	
		
		
			
				
					
					|  |  |  |       traceback.print_exc() |  |  |  |       traceback.print_exc() | 
			
		
	
		
		
			
				
					
					|  |  |  |     except KeyboardInterrupt: |  |  |  |     except KeyboardInterrupt: | 
			
		
	
	
		
		
			
				
					|  |  | 
 |