@ -11,12 +11,12 @@ from selfdrive.test.process_replay.test_processes import FAKEDATA, original_segm 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					from  tools . lib . route  import  SegmentName  
					 
					 
					 
					from  tools . lib . route  import  SegmentName  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					def  regen_job ( segment ,  disable_tqdm ) :  
					 
					 
					 
					def  regen_job ( segment ,  upload ,  disable_tqdm ) :  
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					  with  OpenpilotPrefix ( ) :   
					 
					 
					 
					  with  OpenpilotPrefix ( ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    sn  =  SegmentName ( segment [ 1 ] )   
					 
					 
					 
					    sn  =  SegmentName ( segment [ 1 ] )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    fake_dongle_id  =  ' regen '  +  ' ' . join ( random . choice ( ' 0123456789ABCDEF ' )  for  _  in  range ( 11 ) )   
					 
					 
					 
					    fake_dongle_id  =  ' regen '  +  ' ' . join ( random . choice ( ' 0123456789ABCDEF ' )  for  _  in  range ( 11 ) )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    try :   
					 
					 
					 
					    try :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      relr  =  regen_and_save ( sn . route_name . canonical_name ,  sn . segment_num ,  upload = True ,  use_route_meta = False ,  outdir = os . path . join ( FAKEDATA ,  fake_dongle_id ) ,  disable_tqdm = disable_tqdm )   
					 
					 
					 
					      relr  =  regen_and_save ( sn . route_name . canonical_name ,  sn . segment_num ,  upload = upload ,  use_route_meta = False ,  outdir = os . path . join ( FAKEDATA ,  fake_dongle_id ) ,  disable_tqdm = disable_tqdm )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					      relr  =  ' | ' . join ( relr . split ( ' / ' ) [ - 2 : ] )   
					 
					 
					 
					      relr  =  ' | ' . join ( relr . split ( ' / ' ) [ - 2 : ] )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      return  f '   ( " { segment [ 0 ] } " ,  " { relr } " ),  '   
					 
					 
					 
					      return  f '   ( " { segment [ 0 ] } " ,  " { relr } " ),  '   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    except  Exception  as  e :   
					 
					 
					 
					    except  Exception  as  e :   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -26,12 +26,13 @@ def regen_job(segment, disable_tqdm): 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					if  __name__  ==  " __main__ " :  
					 
					 
					 
					if  __name__  ==  " __main__ " :  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  parser  =  argparse . ArgumentParser ( description = " Generate new segments from old ones " )   
					 
					 
					 
					  parser  =  argparse . ArgumentParser ( description = " Generate new segments from old ones " )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  parser . add_argument ( " -j " ,  " --jobs " ,  type = int ,  default = 1 )   
					 
					 
					 
					  parser . add_argument ( " -j " ,  " --jobs " ,  type = int ,  default = 1 )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  parser . add_argument ( " --no-upload " ,  action = " store_true " )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  args  =  parser . parse_args ( )   
					 
					 
					 
					  args  =  parser . parse_args ( )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  with  concurrent . futures . ProcessPoolExecutor ( max_workers = args . jobs )  as  pool :   
					 
					 
					 
					  with  concurrent . futures . ProcessPoolExecutor ( max_workers = args . jobs )  as  pool :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    p  =  list ( pool . map ( regen_job ,  segments ,  [ args . jobs  >  1 ]  *  args . job s) )   
					 
					 
					 
					    p  =  pool . map ( regen_job ,  segments ,  [ not  args . no_upload ]  *  len ( segments ) ,  [ args . jobs  >  1 ]  *  len ( segment s) )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    msg  =  " Copy these new segments into test_processes.py: "   
					 
					 
					 
					    msg  =  " Copy these new segments into test_processes.py: "   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    for  seg  in  tqdm ( p ,  desc = " Generating segments " ) :   
					 
					 
					 
					    for  seg  in  tqdm ( p ,  desc = " Generating segments " ,  total = len ( segments ) ) :   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					      msg  + =  " \n "  +  str ( seg )   
					 
					 
					 
					      msg  + =  " \n "  +  str ( seg )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    print ( )   
					 
					 
					 
					    print ( )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    print ( )   
					 
					 
					 
					    print ( )