Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Newest Node alert

by lakshmananindia (Chaplain)
on Apr 06, 2009 at 09:54 UTC ( #755673=CUFP: print w/replies, xml ) Need Help??

Hi monks I did a program which will alert the user with TK message box, once a new node is posted in our perlmonks website under perlquestion category.

I don't know weather anyone did this already or not. I just did my part

If you have any suggestions please reply

use LWP; use XML::Simple; use Tk; while(1) { my $oldnode_id=0; if ( -e "./.perlmonks_recent" ) { open (FILE,"./.perlmonks_recent") or die "Cannot open the file + .perlmonks\n"; $oldnode_id=<FILE>; chomp $oldnode_id; close FILE; } my $browser = LWP::UserAgent->new; my $response = $browser->get(' +175;types=perlquestion'); my $ticker=XMLin($response->content); my $currnode_id=$ticker->{NODE}[0]->{node_id}; if($currnode_id > $oldnode_id) { my $mw=new MainWindow; $mw->withdraw(); $mw->messageBox(-icon => 'info', -message =>"Hai Lakshmanan! T +here is a new node titled $ticker->{NODE}[0]->{content}", -title => " +$ticker->{NODE}[0]->{authortitle}", -type => 'ok'); $mw->destroy(); } open (FILE,'>',"./.perlmonks_recent") or die "Cannot open the file +\n"; print FILE $currnode_id; close FILE; sleep(300); }
--Lakshmanan G.

The great pleasure in my life is doing what people say you cannot do.

Replies are listed 'Best First'.
Re: Newest Node alert
by blokhead (Monsignor) on Apr 06, 2009 at 15:44 UTC
    Following What XML generators are currently available on PerlMonks?, you may want to use a URL like:;types=perlquestion;days=0.0034 +7
    This will only look for nodes created in the last 0.00347 days, which is 5 minutes (the amount of time your script sleeps between polls). It's a little unnecessary load on the server, perhaps, to fetch the information for the older irrelevant nodes. Also, it eliminates the need to store a "last seen" node ID.

    I also notice that your script will not announce more than one node if multiple new nodes show up in the same 5 minute window.


      Thanks blokhead for your suggestion. I understood the days=. I'll try that. Its only the start. I'll find a way to make my script to announce, if more than one node is posted within 5 minutes. Thanks a lot for your suggestion.

      --Lakshmanan G.

      The great pleasure in my life is doing what people say you cannot do.

Re: Newest Node alert
by jwkrahn (Monsignor) on Apr 06, 2009 at 19:20 UTC

    I would use something like "$ENV{HOME}/.perlmonks_recent" instead of "./.perlmonks_recent" or you may not know where your ".perlmonks_recent" file is being saved today.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: CUFP [id://755673]
Approved by herveus
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (1)
As of 2021-10-27 04:13 GMT
Find Nodes?
    Voting Booth?
    My first memorable Perl project was:

    Results (91 votes). Check out past polls.