tmp = sys.argv[1:][0].split() for p in tmp: # prepare machine list if p[0] == '@': # if list with open(basepath+p[1:], 'r') as f: flines = f.read().splitlines() machines = machines+flines else: machines.append(p) print 'Job will be executed at:', machines for m in machines: if validate_regexp(m) == True: found_machine = preg_grep('.*'+m+'.*', config) if len(found_machine) == 1: load_machine(config[found_machine[0]]) for i in sys.argv[2:]: if validate_regexp(i) == True: found_cmd = preg_grep('.*'+i+'.*', machine['job']) if len(found_cmd) == 1: print found_machine[0]+': job ->', found_cmd[0] print dfl( do(machine['job'][found_cmd[0]]) ) else: print found_machine[0]+': job ->', i, '- not found' else: print found_machine[0], '- invalid job' else: print 'len(found_machine) =', len(found_machine) else: print m, 'invalid hostname' else: print 'Usage: machine + hostname job1 job2 job3'
print 'not supported but will soon' exit() # check if user password exists in device if not 'user' in device: device['user'] = config['defaults']['user'] if not 'password' in device: device['password'] = config['defaults']['password'] account = Account(decrypt(device['user'], key), decrypt(device['password'], key)) conn = SSH2() conn.connect(device['ip']) conn.login(account) conn.execute('terminal length 0') # CMD PART print found_device[0]+': job ->', found_cmd[0] if type(job) in (tuple,list) != -1: # if job = file.job for i in job: conn.execute(i) print dfl(conn.response) else: conn.execute(job) print dfl(conn.response) # conn.send('exit\r') conn.close() else: print found_device[0]+': job ->', i, '- not found' else: print found_device[0], '- invalid job' else: print 'len(found_device) =', len(found_device) else: print d, 'invalid hostname' else: