473,320 Members | 1,987 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

Exploratory query

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
Jul 18 '05 #1
3 1547

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

Jul 18 '05 #2
In article <ma**********************************@python.org >, Skip Montanaro wrote:

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
Jul 18 '05 #3
>>>>> "Don" == Don Todd <sp*******@ningunaparte.com> writes:

Don> In article <ma**********************************@python.org >, Skip Montanaro wrote:
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


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/li...le-curses.html

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

Skip
Jul 18 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: jaysonsch | last post by:
Hello! I am having some problems with a database query that I am trying to do. I am trying to develop a way to search a database for an entry and then edit the existing values. Upon submit, the...
29
by: shank | last post by:
1) I'm getting this error: Syntax error (missing operator) in query expression on the below statement. Can I get some advice. 2) I searched ASPFAQ and came up blank. Where can find the "rules"...
9
by: netpurpose | last post by:
I need to extract data from this table to find the lowest prices of each product as of today. The product will be listed/grouped by the name only, discarding the product code - I use...
3
by: Harvey | last post by:
Hi, I try to write an asp query form that lets client search any text-string and display all pages in my web server that contain the text. I have IIS 6.0 on a server 2003. The MSDN site says...
4
by: Diamondback | last post by:
I have two tables, WIDGETS and VERSIONS. The WIDGETS table has descriptive information about the widgets while the VERSIONS table contains IDs relating to different iterations of those widgets...
14
by: Dave Thomas | last post by:
If I have a table set up like this: Name | VARCHAR Email | VARCHAR Age | TINYINT | NULL (Default: NULL) And I want the user to enter his or her name, email, and age - but AGE is optional. ...
2
by: Dom | last post by:
I need to run a query based on a query in Access. The second query has a number of conditions which all work well, but there is one more contition I need to set to make it run properly. the...
5
by: Ryan Hubbard | last post by:
Is it possible to get the recordset from an open query window? So you run the query. The window is open. Can vba retrieve this data?
0
by: starace | last post by:
I have designed a form that has 5 different list boxes where the selections within each are used as criteria in building a dynamic query. Some boxes are set for multiple selections but these list...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.