Hi All, I'm relatively new to Python, and I am having some trouble with one of my scripts. Basically, this script connects to a server via ssh, runs Dell's omreport output, and then externally pipes it to a mail script in cron. The script uses an external call to grep via subprocess, but I would like to internalize everything to run in Python. I've read that re can accomplish the filtering, but I am having trouble getting it to duplicate what I already have.
##### USING EXTERNAL GREP ##### # display RAID controller info cmd = ['ssh r...@server.ip -C \"/opt/dell/srvadmin/sbin/omreport storage vdisk\"'] print '########## Array Status ##########' p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) if call(["grep", "-i", "ID"], stdin=p.stdout) != 0: print final sys.stdout.write(p) p.wait() ###### END ####### This gives me: ####### Array Status ########## ID : 0 Layout : RAID-1 Associated Fluid Cache State : Not Applicable ---- vs the full output of: ########## Array Status ########## List of Virtual Disks in the System Controller PERC H310 Mini (Embedded) ID : 0 Status : Ok Name : Main State : Ready Hot Spare Policy violated : Not Assigned Encrypted : Not Applicable Layout : RAID-1 Size : 2,794.00 GB (3000034656256 bytes) T10 Protection Information Status : No Associated Fluid Cache State : Not Applicable Device Name : /dev/sda Bus Protocol : SATA Media : HDD Read Policy : No Read Ahead Write Policy : Write Through Cache Policy : Not Applicable Stripe Element Size : 64 KB Disk Cache Policy : Enabled ##### END #### I've been tinkering around with re, and the only code that I've come up with that doesn't give me a type error is this: cmd = ['ssh r...@server.ip -C \"/opt/dell/srvadmin/sbin/omreport storage vdisk\"'] print '########## Array Status ##########' p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) for line in p.stdout: final = re.findall('ID', line, re.DOTALL) print final p.wait() Which returns this: ########## Array Status ########## [] [] [] ['ID'] [] [] [] [] [] ['ID'] [] [] [] [] [] [] [] [] [] [] [] Obviously, not what I want. Can anyone feed some input? -- https://mail.python.org/mailman/listinfo/python-list