Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

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('http://www.perlmonks.org/?node_id=30 +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:
    http://www.perlmonks.org/?node_id=30175;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.

    blokhead

      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?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: CUFP [id://755673]
Approved by herveus
help
Chatterbox?
[Lady_Aleena]: Cow1337killr, hello. I was off fixing my sources.list and it took my attention away from here.

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2017-02-21 22:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?






    Results (320 votes). Check out past polls.