Exploratory query

D

Don Todd

I'm a total python newbie and have not really even begun to learn.
Before I start, however, I would like to know if python is the proper
tool for what I want to do.

I want to query various MH mailboxes to see if they contain new mail.
There is a program, flist, that will do this, but it is a pain to run it
every time. I'd like something a la xbiff or gbiffy.

Would python allow me to run flist and use its output, or would I need
to re-write flist? The idea is to keep something on the screen and poll
the mailboxes every n seconds and update the display.

TIA,

dt
 
S

Skip Montanaro

Don> Would python allow me to run flist and use its output, or would I
Don> need to re-write flist? The idea is to keep something on the screen
Don> and poll the mailboxes every n seconds and update the display.

You can do this quite easily. Presuming you just want to display flist's
output for now, but maybe mangle it later, you can probably get away with
something simple like this:

import time
import commands

while True:
status, output = commands.getstatusoutput("flist")
if status != 0:
print "flist barfed... exiting"
# right here you could massage output
print output
time.sleep(300) # five minutes

Skip
 
D

Don Todd

Don> Would python allow me to run flist and use its output, or would I
Don> need to re-write flist? The idea is to keep something on the screen
Don> and poll the mailboxes every n seconds and update the display.

You can do this quite easily. Presuming you just want to display flist's
output for now, but maybe mangle it later, you can probably get away with
something simple like this:

import time
import commands

while True:
status, output = commands.getstatusoutput("flist")
if status != 0:
print "flist barfed... exiting"
# right here you could massage output
print output
time.sleep(300) # five minutes

Skip

Thanks, Skip! That pretty much does what I want; I modified it to do
"flist mailbox1", "flist mailbox2" etc.

Is there a way to run this in a terminal and have it uptate the new over
the old? I'm thinking it would be sweet to run it in tranparent
terminal. Perhaps I'll look into using a gui, too.

dt
 
S

Skip Montanaro

Don> Would python allow me to run flist and use its output, or would I
Don> need to re-write flist? The idea is to keep something on the screen
Don> and poll the mailboxes every n seconds and update the display.
Don> Thanks, Skip! That pretty much does what I want; I modified it to
Don> do "flist mailbox1", "flist mailbox2" etc.

Also, note that I forgot the break statement in the exit branch. Should
have been:

if status != 0:
print "flist barfed... exiting"
break

Don> Is there a way to run this in a terminal and have it uptate the new
Don> over the old? I'm thinking it would be sweet to run it in
Don> tranparent terminal. Perhaps I'll look into using a gui, too.

Sure. There are a couple ways to do it. The crude way might just be to put


commands.getstatusoutput("clear")

at the top of the list. The cleaner way would probably be to use the
curses module. I've no experience to make any suggestions, but the curses
module docs at

http://www.python.org/doc/current/lib/module-curses.html

have a link to Andrew Kuchling's "Curses with Python" tutorial.

Skip
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top