logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Perlanet - A program for creating programs that aggregate web feeds (both RSS and Atom).

Attributes

       config
           A hash reference that contains the complete contents of the configuration file.

       ua  An  instance of LWP::UserAgent. Defaults to a simple agent using "$config->{agent}" as the user agent
           name, or " Perlanet/$VERSION ".

       cutoff
           An  instance  of  DateTime  which  represents  the  earliest  date  for  which  feed  posts  will  be
           fetched/shown.

       feeds
           An arrayref of Perlanet::Feed objects representing the feeds to collect data from.

Author

       Dave Cross, <dave@perlhacks.com>

Constructor

new
         my $perlanet = Perlanet->new

       The constructor method. Can be passed a hashref of initialisers.

       See "ATTRIBUTES" below for details of the key/value pairs to pass in.

Description

       Perlanet is a program for creating programs that aggregate web feeds (both RSS and Atom). Web pages like
       this are often called "Planets" after the Python software which originally popularised them. Perlanet is
       a planet builder written in Perl - hence "Perlanet".

       You are probably interested in Perlanet::Simple to get started straight out of the box, batteries
       included style.

       Perlanet itself is the driving force behind everything, however. Perlanet reads a series of web feeds
       (filtering only those that are valid), sorts and selects entries from these web feeds, and then creates a
       new aggregate feed and renders this aggregate feed. Perlanet allows the user to customize all of these
       steps through subclassing and roles.

       For most uses, you probably don't want to use the Perlanet module. The perlanet command line program is
       far more likely to be useful.

Methods

fetch_page
       Attempt to fetch a web page and a returns a URI::Fetch::Response object.

   fetch_feeds
       Called internally by "run" and passed the list of feeds in "feeds".

       Attempt  to  download  all  given  feeds,  as  specified  in  the  "feeds"  attribute.  Returns a list of
       Perlanet::Feed objects, with the actual feed data loaded.

       NB: This method also modifies the contents of "feeds".

   select_entries
       Called internally by "run" and passed the list of feeds from "fetch_feeds".

       Returns a combined list of Perlanet::Entry objects from all given feeds.

   sort_entries
       Called internally by "run" and passed the list of entries from "select_entries".

       Sort the given list of  entries  into  created/modified  order  for  aggregation,  and  filters  them  if
       necessary.

       Takes a list of Perlanet::Entrys, and returns an ordered list.

   cutoff_entries
       Called internally by "run" and passed the list of entries from "sort_entries".

       Removes any entries that were published earlier than the cut-off date for this feed.

   build_feed
       Called internally by "run" and passed the list of entries from "sort_entries".

       Takes a list of Perlanet::Entrys, and returns a Perlanet::Feed that is the actual feed for the planet.

   clean_html
       Clean a HTML string so it is suitable for display.

       Takes a HTML string and returns a "cleaned" HTML string.

   clean_entries
       Clean all entries for the planet.

       Takes a list of entries, runs them through "clean" and returns a list of cleaned entries.

   render
       Called internally by "run" and passed the feed from "build_feed".

       This is the hook where you generate some type of page to display the result of aggregating feeds together
       (ie, inserting the posts into a database, running a HTML templating library, etc)

       Takes a Perlanet::Feed as input (as generated by build_feed.

   run
       The main method which runs the perlanet process.

Name

       Perlanet - A program for creating programs that aggregate web feeds (both RSS and Atom).

See Also

       •   perlanet

       •   Plagger

Support

       To  report  bugs  in  Perlanet,  please  use the CPAN request tracker. You can either use the web page at
       <http://rt.cpan.org/Public/Bug/Report.html?Queue=Perlanet> or send an email to bug-Perlanet@rt.cpan.org.

Synopsis

         my $perlanet = Perlanet->new;
         $perlanet->run;

To Do

See Also