Thank you all for the helpful criticism. I wish I was able to catch on to what you are suggesting more quickly.
Based on your recommendations, I have come up with the following so far, however I just dont see it as easily as I did while using the if/elif statements. This is what I have so far. I can not figure out how to iterate through the dictionary inserting each value where "png_file" should be and execute the code for each ip address in the list. I was able to do it using the if/elif statements, but I am afraid I am lost trying to do it another way. ipList = ['ip-1', 'ip-2', 'ip-3', 'ip-4', 'ip-5', 'ip-6', 'ip-7', 'ip-8', 'ip-9'] host = {'3102EHD-01108':'3102EHD-01108.png', '3102EHD-01109':'3102DHD-01109.png', '3102EHD-MUTV-1082':'3102EHD-01082.png', '3102DHD-01033':'3102DHD-MUTV-1033.png', 'Encoder':'3102EHD-01302.png', '3102DHD-01149':'3102DHD-01149.png', '3102EHD-01125':'3102EHD-01125.png', '3102DHD-01144':'3102DHD-01144.png', '3102EHD-01105':'3102EHD-01105.png'} # iterate through the dictionary inserting the png file def get_png_file(?): process = get_png_file.get(hostname, png_file) s.exec_command('export DISPLAY=:0.0; /Downloads/Hourly/win.sh') sftp = s.open_sftp() sftp.get('/Downloads/Hourly/'png_file,'/Downloads/Hourly/'png_file) sftp.close() print 'file recieved' user = 'user' passwd = 'password' s = paramiko.SSHClient() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # iterate through the list and do the below for each for ip in ipList: s.connect(ip,22,user,passwd,timeout=4) ####since I have all the hostnames in the dic, and I am removing ####the if/elif statments, do I need the below command 'echo $HOSTNAME'? stdin, stdout, stderr = s.exec_command('echo $HOSTNAME') out = stdout.read() get_png_file(?) **original code below** #############connect to each machine and retrieve the image############# l = ['ip-1', 'ip-2', 'ip-3', 'ip-4', 'ip-5', 'ip-6', 'ip-7', 'ip-8', 'ip-9'] def connect(ip): user = 'user' passwd = 'password' command = 'echo $HOSTNAME' s = paramiko.SSHClient() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) s.connect(ip,22,user,passwd,timeout=4) stdin, stdout, stderr = s.exec_command('echo $HOSTNAME') out = stdout.read() if '3102EHD-Lanka-1108' in out: s.exec_command('export DISPLAY=:0.0; /Downloads/Hourly/win.sh') sftp = s.open_sftp() sftp.get('/Downloads/Hourly/3102EHD-01108/3102EHD-01108.png', '/Downloads/Hourly/3102EHD-01108.png') sftp.close() elif '3102EHD-01109' in out: s.exec_command('export DISPLAY=:0.0; /Downloads/Hourly/win.sh') sftp = s.open_sftp() sftp.get('/Downloads/Hourly/3102DHD-01109/3102DHD-01109.png', '/Downloads/Hourly/3102DHD-01109.png') sftp.close() elif '3102EHD-MUTV-1082' in out: s.exec_command('export DISPLAY=:0.0; /Downloads/Hourly/win.sh') sftp = s.open_sftp() sftp.get('/Downloads/Hourly/3102EHD-01082/3102EHD-01082.png', '/Downloads/Hourly/3102EHD-01082.png') sftp.close() elif '3102DHD-MUTV-1033' in out: s.exec_command('export DISPLAY=:0.0; /Downloads/Hourly/win.sh') sftp = s.open_sftp() sftp.get('/Downloads/Hourly/3102DHD-01033/3102DHD-01033.png', '/Downloads/Hourly/3102DHD-01033.png') sftp.close() elif 'Encoder' in out: s.exec_command('export DISPLAY=:0.0; /Downloads/Hourly/win.sh') sftp = s.open_sftp() sftp.get('/Downloads/Hourly/3102EHD-01302/3102EHD-01302.png', '/Downloads/Hourly/3102EHD-01302.png') sftp.close() elif '3102DHD-01149' in out: s.exec_command('export DISPLAY=:0.0; /Downloads/Hourly/win.sh') sftp = s.open_sftp() sftp.get('/Downloads/Hourly/3102DHD-01149/3102DHD-01149.png', '/Downloads/Hourly/3102DHD-01149.png') sftp.close() elif '3102EHD-01125' in out: s.exec_command('export DISPLAY=:0.0; /Downloads/Hourly/win.sh') sftp = s.open_sftp() sftp.get('/Downloads/Hourly/3102EHD-01125/3102EHD-01125.png', '/Downloads/Hourly/3102EHD-01125.png') sftp.close() elif '3102DHD-01144' in out: s.exec_command('export DISPLAY=:0.0; /Downloads/Hourly/win.sh') sftp = s.open_sftp() sftp.get('/Downloads/Hourly/3102DHD-01144/3102DHD-01144.png', '/Downloads/Hourly/3102DHD-01144.png') sftp.close() elif '3102EHD-01105' in out: s.exec_command('export DISPLAY=:0.0; /Downloads/Hourly/win.sh') sftp = s.open_sftp() sftp.get('/Downloads/Hourly/3102EHD-01105/3102EHD-01105.png', '/Downloads/Hourly/3102EHD-01105.png') sftp.close() con = map(connect, l)
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor