shlomi-fish-homepage / lib / Shlomif / Homepage / Rss.pm

package Shlomif::Homepage::Rss;

use strict;
use warnings;

use base 'HTML::Widgets::NavMenu::Object';
use base 'Class::Accessor';

use XML::Feed;
use CGI;

__PACKAGE__->mk_accessors(qw(
    feed
));
    
sub _init
{
    my $self = shift;
    my $feed = XML::Feed->parse(URI->new("http://www.livejournal.com/community/shlomif_hsite/data/atom"))
        or die XML::Feed->errstr;
    $self->feed($feed);

    return 0;
}

sub run
{
    my $self = shift;
    foreach my $entry ($self->feed()->entries())
    {
        my $text = $entry->content()->body() . "\n\n" . "<p><a href=\"" . CGI::escapeHTML($entry->link()) . "\">See comments and comment on this.</a></p>\n";
        my $issued = $entry->issued();
        my $filename = "lib/feeds/shlomif_hsite/" . $issued->ymd() . ".html";
        open O, ">", $filename;
        print O $text;
        close(O);
        system("svn", "add", "-q", $filename);
    }
}

1;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.