You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							31 lines
						
					
					
						
							624 B
						
					
					
				
			
		
		
	
	
							31 lines
						
					
					
						
							624 B
						
					
					
				| #!/usr/bin/env python3
 | |
| import os
 | |
| import sys
 | |
| import time
 | |
| from socket import gethostbyname, gaierror
 | |
| from tools.zookeeper import Zookeeper
 | |
| 
 | |
| def is_online(ip):
 | |
|   try:
 | |
|     addr = gethostbyname(ip)
 | |
|     return (os.system(f"ping -c 1 {addr} > /dev/null") == 0)
 | |
|   except gaierror:
 | |
|     return False
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|   z = Zookeeper()
 | |
|   z.set_device_power(True)
 | |
| 
 | |
| 
 | |
|   ip = str(sys.argv[1])
 | |
|   timeout = int(sys.argv[2])
 | |
|   start_time = time.time()
 | |
|   while not is_online(ip):
 | |
|     print(f"{ip} not online yet!")
 | |
| 
 | |
|     if time.time() - start_time > timeout:
 | |
|       print("Timed out!")
 | |
|       raise TimeoutError()
 | |
| 
 | |
|     time.sleep(1)
 | |
| 
 | |
| 
 |