mirror of
				https://github.com/Telecominfraproject/wlan-testing.git
				synced 2025-10-31 02:48:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python3
 | |
| import argparse
 | |
| 
 | |
| import paramiko
 | |
| from scp import SCPClient
 | |
| 
 | |
| 
 | |
| class SCP_File:
 | |
|     def __init__(self, ip="localhost", port=22, username="lanforge", password="lanforge", remote_path="/home/lanforge/",
 | |
|                  local_path="."):
 | |
|         self.ip = ip
 | |
|         self.port = port
 | |
|         self.remote_path = remote_path
 | |
|         self.local_path = local_path
 | |
|         self.username = username
 | |
|         self.password = password
 | |
| 
 | |
|     def pull_file(self):
 | |
|         ssh = paramiko.SSHClient()
 | |
|         ssh.load_system_host_keys()
 | |
|         ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 | |
|         ssh.connect(hostname=self.ip, username=self.username, password=self.password, port=self.port, allow_agent=False,
 | |
|                     look_for_keys=False)
 | |
|         # ssh.close()
 | |
| 
 | |
|         with SCPClient(ssh.get_transport()) as scp:
 | |
|             scp.get(remote_path=self.remote_path, local_path=self.local_path, recursive=True)
 | |
|             scp.close()
 | |
| 
 | |
| 
 | |
| def main():
 | |
|     parser = argparse.ArgumentParser(prog="lf_utils",
 | |
|                                      formatter_class=argparse.RawTextHelpFormatter,
 | |
|                                      allow_abbrev=True,
 | |
|                                      epilog="About lf_tools.py",
 | |
|                                      description="Tools for LANforge System")
 | |
|     parser.add_argument('--host', type=str, help=' --host : IP Address f LANforge System', default="localhost")
 | |
|     parser.add_argument('--port', type=int, help='--passwd of dut', default=22)
 | |
|     parser.add_argument('--username', type=str, help='--username to use on LANforge', default="lanforge")
 | |
|     parser.add_argument('--password', type=str, help='--password to use on LANforge', default="lanforge")
 | |
|     parser.add_argument('--remote_path', type=str, help='--password to the given username',
 | |
|                         default="/home/lanforge/lf_kinstall.pl")
 | |
|     parser.add_argument('--local_path', type=str, help='--action to perform'
 | |
|                                                        'reboot | run_cmd', default=".")
 | |
|     args = parser.parse_args()
 | |
|     lf_tools = SCP_File(ip=args.host, port=args.port,
 | |
|                         username=args.username, password=args.password,
 | |
|                         remote_path=args.remote_path, local_path=args.local_path)
 | |
|     lf_tools.pull_file()
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     main()
 | 
