| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -43,7 +43,6 @@ def register(show_spinner=False): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    # Create registration token, in the future, this key will make JWTs directly | 
					 | 
					 | 
					 | 
					    # Create registration token, in the future, this key will make JWTs directly | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private_key = open(PERSIST+"/comma/id_rsa").read() | 
					 | 
					 | 
					 | 
					    private_key = open(PERSIST+"/comma/id_rsa").read() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public_key = open(PERSIST+"/comma/id_rsa.pub").read() | 
					 | 
					 | 
					 | 
					    public_key = open(PERSIST+"/comma/id_rsa.pub").read() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    register_token = jwt.encode({'register': True, 'exp': datetime.utcnow() + timedelta(hours=1)}, private_key, algorithm='RS256') | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    # Block until we get the imei | 
					 | 
					 | 
					 | 
					    # Block until we get the imei | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    imei1, imei2 = None, None | 
					 | 
					 | 
					 | 
					    imei1, imei2 = None, None | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -58,8 +57,10 @@ def register(show_spinner=False): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    params.put("IMEI", imei1) | 
					 | 
					 | 
					 | 
					    params.put("IMEI", imei1) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    params.put("HardwareSerial", serial) | 
					 | 
					 | 
					 | 
					    params.put("HardwareSerial", serial) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    backoff = 0 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    while True: | 
					 | 
					 | 
					 | 
					    while True: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      try: | 
					 | 
					 | 
					 | 
					      try: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        register_token = jwt.encode({'register': True, 'exp': datetime.utcnow() + timedelta(hours=1)}, private_key, algorithm='RS256') | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        cloudlog.info("getting pilotauth") | 
					 | 
					 | 
					 | 
					        cloudlog.info("getting pilotauth") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        resp = api_get("v2/pilotauth/", method='POST', timeout=15, | 
					 | 
					 | 
					 | 
					        resp = api_get("v2/pilotauth/", method='POST', timeout=15, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                       imei=imei1, imei2=imei2, serial=serial, public_key=public_key, register_token=register_token) | 
					 | 
					 | 
					 | 
					                       imei=imei1, imei2=imei2, serial=serial, public_key=public_key, register_token=register_token) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -74,7 +75,8 @@ def register(show_spinner=False): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        break | 
					 | 
					 | 
					 | 
					        break | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      except Exception: | 
					 | 
					 | 
					 | 
					      except Exception: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        cloudlog.exception("failed to authenticate") | 
					 | 
					 | 
					 | 
					        cloudlog.exception("failed to authenticate") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        time.sleep(1) | 
					 | 
					 | 
					 | 
					        backoff = min(backoff + 1, 15) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        time.sleep(backoff) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if show_spinner: | 
					 | 
					 | 
					 | 
					    if show_spinner: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      spinner.close() | 
					 | 
					 | 
					 | 
					      spinner.close() | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |